Skip to contentSkip to conversation

x86_64: adjust exception frame on paranoid exceptions

PATCH In review Jeremy Fitzhardinge 1 participant 1 message Jul 12, 2008 x86

lore
Share & tools
lore
#0 lore raw

PATCH 3/3 x86_64: adjust exception frame on paranoid exceptions

Exceptions using paranoidentry need to have their exception frames adjusted explicitly.

---
arch/x86/kernel/entry_64.S | 6 ++++++

1 file changed, 6 insertions(+)

===================================================================

arch/x86/kernel/entry_64.S +0 -0
@@ -1189,6 +1189,7 @@ END(device_not_available)
	/* runs on exception stack */

KPROBE_ENTRY(debug)
INTR_FRAME
+ PARAVIRT_ADJUST_EXCEPTION_FRAME
pushq $0
CFI_ADJUST_CFA_OFFSET 8
paranoidentry do_debug, DEBUG_STACK
@@ -1198,6 +1199,7 @@ KPROBE_END(debug)

	/* runs on exception stack */	
KPROBE_ENTRY(nmi)
	INTR_FRAME
+	PARAVIRT_ADJUST_EXCEPTION_FRAME
	pushq $-1
	CFI_ADJUST_CFA_OFFSET 8
	paranoidentry do_nmi, 0, 0

@@ -1211,6 +1213,7 @@ KPROBE_END(nmi)

KPROBE_ENTRY(int3)
INTR_FRAME
+ PARAVIRT_ADJUST_EXCEPTION_FRAME
pushq $0
CFI_ADJUST_CFA_OFFSET 8
paranoidentry do_int3, DEBUG_STACK
@@ -1237,6 +1240,7 @@ END(coprocessor_segment_overrun)

	/* runs on exception stack */

ENTRY(double_fault)
XCPT_FRAME
+ PARAVIRT_ADJUST_EXCEPTION_FRAME
paranoidentry do_double_fault
jmp paranoid_exit1
CFI_ENDPROC
@@ -1253,6 +1257,7 @@ END(segment_not_present)

	/* runs on exception stack */

ENTRY(stack_segment)
XCPT_FRAME
+ PARAVIRT_ADJUST_EXCEPTION_FRAME
paranoidentry do_stack_segment
jmp paranoid_exit1
CFI_ENDPROC
@@ -1278,6 +1283,7 @@ END(spurious_interrupt_bug)

	/* runs on exception stack */

ENTRY(machine_check)
INTR_FRAME
+ PARAVIRT_ADJUST_EXCEPTION_FRAME
pushq $0
CFI_ADJUST_CFA_OFFSET 8
paranoidentry do_machine_check