linux/tools/objtool
Josh Poimboeuf 2513cbf9d6 objtool: Silence warnings for functions which use IRET
Previously, objtool ignored functions which have the IRET instruction
in them.  That's because it assumed that such functions know what
they're doing with respect to frame pointers.

With the new "objtool 2.0" changes, it stopped ignoring such functions,
and started complaining about them:

  arch/x86/kernel/alternative.o: warning: objtool: do_sync_core()+0x1b: unsupported instruction in callable function
  arch/x86/kernel/alternative.o: warning: objtool: text_poke()+0x1a8: unsupported instruction in callable function
  arch/x86/kernel/ftrace.o: warning: objtool: do_sync_core()+0x16: unsupported instruction in callable function
  arch/x86/kernel/cpu/mcheck/mce.o: warning: objtool: machine_check_poll()+0x166: unsupported instruction in callable function
  arch/x86/kernel/cpu/mcheck/mce.o: warning: objtool: do_machine_check()+0x147: unsupported instruction in callable function

Silence those warnings for now.  They can be re-enabled later, once we
have unwind hints which will allow the code to annotate the IRET usages.

Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: live-patching@vger.kernel.org
Fixes: baa41469a7 ("objtool: Implement stack validation 2.0")
Link: http://lkml.kernel.org/r/20170630140934.mmwtpockvpupahro@treble
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-06-30 19:43:50 +02:00
..
Documentation objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
arch/x86 objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
.gitignore objtool: Add 'fixdep' to objtool/.gitignore 2016-07-27 11:07:11 +02:00
Build objtool: Move checking code to check.c 2017-06-30 10:19:19 +02:00
Makefile objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
arch.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
builtin-check.c objtool: Move checking code to check.c 2017-06-30 10:19:19 +02:00
builtin.h
cfi.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
check.c objtool: Silence warnings for functions which use IRET 2017-06-30 19:43:50 +02:00
check.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
elf.c objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
elf.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
objtool.c objtool: Drop ARRAY_SIZE() definition, tools/include/linux/kernel.h has it now 2017-04-19 13:01:44 -03:00
special.c objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
special.h
warn.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00