]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit - tools/objtool/check.c
objtool: Allow alternatives to be ignored
authorJosh Poimboeuf <jpoimboe@redhat.com>
Thu, 11 Jan 2018 21:46:24 +0000 (21:46 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 11 Jan 2018 23:14:28 +0000 (00:14 +0100)
commit258c76059cece01bebae098e81bacb1af2edad17
tree1d3bdfe76ad0064b40cdacda35edc7d194f288c8
parent39b735332cb8b33a27c28592d969e4016c86c3ea
objtool: Allow alternatives to be ignored

Getting objtool to understand retpolines is going to be a bit of a
challenge.  For now, take advantage of the fact that retpolines are
patched in with alternatives.  Just read the original (sane)
non-alternative instruction, and ignore the patched-in retpoline.

This allows objtool to understand the control flow *around* the
retpoline, even if it can't yet follow what's inside.  This means the
ORC unwinder will fail to unwind from inside a retpoline, but will work
fine otherwise.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: gnomes@lxorguk.ukuu.org.uk
Cc: Rik van Riel <riel@redhat.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: thomas.lendacky@amd.com
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Kees Cook <keescook@google.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linux-foundation.org>
Cc: Paul Turner <pjt@google.com>
Link: https://lkml.kernel.org/r/1515707194-20531-3-git-send-email-dwmw@amazon.co.uk
tools/objtool/check.c
tools/objtool/check.h