|
@@ -97,7 +97,7 @@ For 32-bit we have the following conventions - kernel is built with
|
|
|
|
|
|
#define SIZEOF_PTREGS 21*8
|
|
#define SIZEOF_PTREGS 21*8
|
|
|
|
|
|
- .macro PUSH_AND_CLEAR_REGS rdx=%rdx rax=%rax
|
|
|
|
|
|
+.macro PUSH_AND_CLEAR_REGS rdx=%rdx rax=%rax
|
|
/*
|
|
/*
|
|
* Push registers and sanitize registers of values that a
|
|
* Push registers and sanitize registers of values that a
|
|
* speculation attack might otherwise want to exploit. The
|
|
* speculation attack might otherwise want to exploit. The
|
|
@@ -131,9 +131,9 @@ For 32-bit we have the following conventions - kernel is built with
|
|
pushq %r15 /* pt_regs->r15 */
|
|
pushq %r15 /* pt_regs->r15 */
|
|
xorq %r15, %r15 /* nospec r15*/
|
|
xorq %r15, %r15 /* nospec r15*/
|
|
UNWIND_HINT_REGS
|
|
UNWIND_HINT_REGS
|
|
- .endm
|
|
|
|
|
|
+.endm
|
|
|
|
|
|
- .macro POP_REGS pop_rdi=1 skip_r11rcx=0
|
|
|
|
|
|
+.macro POP_REGS pop_rdi=1 skip_r11rcx=0
|
|
popq %r15
|
|
popq %r15
|
|
popq %r14
|
|
popq %r14
|
|
popq %r13
|
|
popq %r13
|
|
@@ -163,7 +163,7 @@ For 32-bit we have the following conventions - kernel is built with
|
|
|
|
|
|
.macro icebp
|
|
.macro icebp
|
|
.byte 0xf1
|
|
.byte 0xf1
|
|
- .endm
|
|
|
|
|
|
+.endm
|
|
|
|
|
|
/*
|
|
/*
|
|
* This is a sneaky trick to help the unwinder find pt_regs on the stack. The
|
|
* This is a sneaky trick to help the unwinder find pt_regs on the stack. The
|