Files
android_kernel_xiaomi_sm8450/arch/x86/include/asm
Josh Poimboeuf 317c2ce77d x86/alternatives: Add stack frame dependency to alternative_call_2()
Linus reported the following objtool warning:

  kernel/signal.o: warning: objtool: .altinstr_replacement+0x54: call without frame pointer save/setup

The warning is valid.  It's caused by the fact that gcc placed the call
instruction in alternative_call_2()'s inline asm before the frame
pointer setup, which breaks frame pointer convention and can result in a
bad stack trace.

Force a stack frame to be created before the call instruction by listing
the stack pointer as an output operand in the inline asm statement.

Reported-and-tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20160923214939.j5o7c67nhepzmh3t@treble
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-09-24 09:30:03 +02:00
..
2016-07-25 13:41:01 +02:00
2014-12-11 11:35:02 +01:00
2015-04-14 16:49:06 -07:00
2015-05-28 15:31:53 +02:00
2012-03-28 18:11:12 +01:00
2016-01-20 11:39:14 +01:00
2014-03-04 21:47:51 +01:00
2011-04-18 09:26:48 -07:00
2015-10-21 11:17:32 +02:00
2015-04-24 15:36:55 +02:00
2010-10-26 16:52:08 -07:00
2012-06-25 13:48:30 +02:00
2016-08-18 18:41:27 +02:00
2016-01-12 12:17:28 +01:00
2010-06-09 11:12:36 +02:00
2015-07-31 13:31:10 +02:00
2014-02-27 08:07:39 -08:00
2015-12-19 11:53:40 +01:00
2016-03-15 08:56:16 -05:00
2014-09-01 10:15:31 +02:00
2016-07-12 19:25:38 -07:00
2011-03-15 15:34:15 -07:00
2016-08-04 13:52:21 +02:00
2015-05-19 15:47:30 +02:00
2016-01-30 11:22:17 +01:00
2016-07-23 11:04:23 -07:00
2016-06-16 00:04:31 +02:00
2015-07-31 13:31:10 +02:00
2016-09-15 12:54:04 -07:00
2016-06-16 00:04:31 +02:00
2016-07-23 11:04:23 -07:00
2015-05-19 15:47:30 +02:00