summaryrefslogtreecommitdiff
path: root/tools/objtool/check.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2018-01-16 12:24:06 +0300
committerIngo Molnar <mingo@kernel.org>2018-02-21 11:05:04 +0300
commitb5bc2231b8ad4387c9641f235ca0ad8cd300b6df (patch)
treea6ce9e09e9f1424f9506bf8b1ba375c88a044a76 /tools/objtool/check.h
parent43a4525f80534530077683f6472d8971646b0ace (diff)
downloadlinux-b5bc2231b8ad4387c9641f235ca0ad8cd300b6df.tar.xz
objtool: Add retpoline validation
David requested a objtool validation pass for CONFIG_RETPOLINE=y enabled builds, where it validates no unannotated indirect jumps or calls are left. Add an additional .discard.retpoline_safe section to allow annotating the few indirect sites that are required and safe. Requested-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: David Woodhouse <dwmw@amazon.co.uk> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Arjan van de Ven <arjan@linux.intel.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/objtool/check.h')
-rw-r--r--tools/objtool/check.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/objtool/check.h b/tools/objtool/check.h
index 936255ba23db..c6b68fcb926f 100644
--- a/tools/objtool/check.h
+++ b/tools/objtool/check.h
@@ -45,6 +45,7 @@ struct instruction {
unsigned char type;
unsigned long immediate;
bool alt_group, visited, dead_end, ignore, hint, save, restore, ignore_alts;
+ bool retpoline_safe;
struct symbol *call_dest;
struct instruction *jump_dest;
struct instruction *first_jump_src;