summaryrefslogtreecommitdiffstats
path: root/tools/objtool/arch/x86
diff options
context:
space:
mode:
authorPeter Zijlstra2019-02-25 11:10:55 +0100
committerIngo Molnar2019-04-03 11:02:24 +0200
commit2f0f9e9ad7b3459c5c54ef2c03145a98e65dd158 (patch)
tree6ce2229a931e53504851d1e98b6319630ff952c7 /tools/objtool/arch/x86
parentobjtool: Add UACCESS validation (diff)
downloadkernel-qcow2-linux-2f0f9e9ad7b3459c5c54ef2c03145a98e65dd158.tar.gz
kernel-qcow2-linux-2f0f9e9ad7b3459c5c54ef2c03145a98e65dd158.tar.xz
kernel-qcow2-linux-2f0f9e9ad7b3459c5c54ef2c03145a98e65dd158.zip
objtool: Add Direction Flag validation
Having DF escape is BAD(tm). Linus; you suggested this one, but since DF really is only used from ASM and the failure case is fairly obvious, do we really need this? OTOH the patch is fairly small and simple, so let's just do this to demonstrate objtool's superior awesomeness. Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/objtool/arch/x86')
-rw-r--r--tools/objtool/arch/x86/decode.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/objtool/arch/x86/decode.c b/tools/objtool/arch/x86/decode.c
index ab20a96fee50..472e991f6512 100644
--- a/tools/objtool/arch/x86/decode.c
+++ b/tools/objtool/arch/x86/decode.c
@@ -451,6 +451,14 @@ int arch_decode_instruction(struct elf *elf, struct section *sec,
*type = INSN_CALL;
break;
+ case 0xfc:
+ *type = INSN_CLD;
+ break;
+
+ case 0xfd:
+ *type = INSN_STD;
+ break;
+
case 0xff:
if (modrm_reg == 2 || modrm_reg == 3)