diff options
Diffstat (limited to '001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch')
-rw-r--r-- | 001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch b/001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch new file mode 100644 index 000000000000..d9374cb165cd --- /dev/null +++ b/001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch @@ -0,0 +1,36 @@ +From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> + +User Mode Linux does not have access to the ip or sp fields of the pt_regs, +and accessing them causes UML to fail to build. Hide the int3_emulate_jmp() +and int3_emulate_call() instructions from UML, as it doesn't need them +anyway. + +Reported-by: kbuild test robot <lkp@intel.com> +Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> +--- + arch/x86/include/asm/text-patching.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/arch/x86/include/asm/text-patching.h b/arch/x86/include/asm/text-patching.h +index 05861cc08787..0bbb07eaed6b 100644 +--- a/arch/x86/include/asm/text-patching.h ++++ b/arch/x86/include/asm/text-patching.h +@@ -39,6 +39,7 @@ extern int poke_int3_handler(struct pt_regs *regs); + extern void *text_poke_bp(void *addr, const void *opcode, size_t len, void *handler); + extern int after_bootmem; + ++#ifndef CONFIG_UML_X86 + static inline void int3_emulate_jmp(struct pt_regs *regs, unsigned long ip) + { + regs->ip = ip; +@@ -65,6 +66,7 @@ static inline void int3_emulate_call(struct pt_regs *regs, unsigned long func) + int3_emulate_push(regs, regs->ip - INT3_INSN_SIZE + CALL_INSN_SIZE); + int3_emulate_jmp(regs, func); + } +-#endif ++#endif /* CONFIG_X86_64 */ ++#endif /* !CONFIG_UML_X86 */ + + #endif /* _ASM_X86_TEXT_PATCHING_H */ +-- +2.20.1 |