From: Andi Kleen <a...@linux.intel.com> Clear all registers on entering the 64bit kernel for exceptions and interrupts.
Since there are no arguments this is fairly simple. Signed-off-by: Andi Kleen <a...@linux.intel.com> --- arch/x86/entry/entry_64.S | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S index 632081fd7086..6ab4c2aaeabb 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -636,6 +636,7 @@ END(irq_entries_start) ALLOC_PT_GPREGS_ON_STACK SAVE_C_REGS SAVE_EXTRA_REGS + CLEAR_ALL_REGS ENCODE_FRAME_POINTER testb $3, CS(%rsp) @@ -1192,6 +1193,7 @@ ENTRY(xen_failsafe_callback) ALLOC_PT_GPREGS_ON_STACK SAVE_C_REGS SAVE_EXTRA_REGS + CLEAR_ALL_REGS ENCODE_FRAME_POINTER jmp error_exit END(xen_failsafe_callback) @@ -1237,6 +1239,7 @@ ENTRY(paranoid_entry) cld SAVE_C_REGS 8 SAVE_EXTRA_REGS 8 + CLEAR_ALL_REGS ENCODE_FRAME_POINTER 8 movl $1, %ebx movl $MSR_GS_BASE, %ecx @@ -1289,6 +1292,7 @@ ENTRY(error_entry) cld SAVE_C_REGS 8 SAVE_EXTRA_REGS 8 + CLEAR_ALL_REGS ENCODE_FRAME_POINTER 8 xorl %ebx, %ebx testb $3, CS+8(%rsp) @@ -1487,6 +1491,7 @@ ENTRY(nmi) pushq %r14 /* pt_regs->r14 */ pushq %r15 /* pt_regs->r15 */ UNWIND_HINT_REGS + CLEAR_ALL_REGS ENCODE_FRAME_POINTER /* -- 2.14.3