aboutsummaryrefslogtreecommitdiffstats
path: root/tools/objtool/arch/x86/decode.c
diff options
context:
space:
mode:
authorIngo Molnar <[email protected]>2025-05-13 08:47:10 +0000
committerIngo Molnar <[email protected]>2025-05-13 08:47:10 +0000
commitc4070e1996e05dd2eb5e08ee68d0d00553ae08f7 (patch)
tree180e4a4bae29635fd54bf7e7ca29f5e15ff0b8fc /tools/objtool/arch/x86/decode.c
parentMerge branch 'x86/platform' into x86/core, to merge dependent commits (diff)
parentMerge tag 'its-for-linus-20250509' of git://git.kernel.org/pub/scm/linux/kern... (diff)
downloadkernel-c4070e1996e05dd2eb5e08ee68d0d00553ae08f7.tar.gz
kernel-c4070e1996e05dd2eb5e08ee68d0d00553ae08f7.zip
Merge commit 'its-for-linus-20250509-merge' into x86/core, to resolve conflicts
Conflicts: Documentation/admin-guide/hw-vuln/index.rst arch/x86/include/asm/cpufeatures.h arch/x86/kernel/alternative.c arch/x86/kernel/cpu/bugs.c arch/x86/kernel/cpu/common.c drivers/base/cpu.c include/linux/cpu.h Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/objtool/arch/x86/decode.c')
-rw-r--r--tools/objtool/arch/x86/decode.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/objtool/arch/x86/decode.c b/tools/objtool/arch/x86/decode.c
index 331b9a744410..98c4713c1b09 100644
--- a/tools/objtool/arch/x86/decode.c
+++ b/tools/objtool/arch/x86/decode.c
@@ -189,6 +189,15 @@ int arch_decode_instruction(struct objtool_file *file, const struct section *sec
op2 = ins.opcode.bytes[1];
op3 = ins.opcode.bytes[2];
+ /*
+ * XXX hack, decoder is buggered and thinks 0xea is 7 bytes long.
+ */
+ if (op1 == 0xea) {
+ insn->len = 1;
+ insn->type = INSN_BUG;
+ return 0;
+ }
+
if (ins.rex_prefix.nbytes) {
rex = ins.rex_prefix.bytes[0];
rex_w = X86_REX_W(rex) >> 3;