From: Andi Kleen Date: Sat, 16 Apr 2005 22:25:00 +0000 (-0700) Subject: [PATCH] x86_64: Dump stack and prevent recursion on early fault X-Git-Tag: v2.6.12-rc3~167 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=b957591fee753101f289615abab1c54ff7b1d29d;p=~emulex%2Finfiniband.git [PATCH] x86_64: Dump stack and prevent recursion on early fault Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/x86_64/kernel/head.S b/arch/x86_64/kernel/head.S index b6d8725c1f6..9bd2e7a4b81 100644 --- a/arch/x86_64/kernel/head.S +++ b/arch/x86_64/kernel/head.S @@ -200,14 +200,22 @@ init_rsp: .quad init_thread_union+THREAD_SIZE-8 ENTRY(early_idt_handler) + cmpl $2,early_recursion_flag(%rip) + jz 1f + incl early_recursion_flag(%rip) xorl %eax,%eax movq 8(%rsp),%rsi # get rip movq (%rsp),%rdx movq %cr2,%rcx leaq early_idt_msg(%rip),%rdi call early_printk + cmpl $2,early_recursion_flag(%rip) + jz 1f + call dump_stack 1: hlt jmp 1b +early_recursion_flag: + .long 0 early_idt_msg: .asciz "PANIC: early exception rip %lx error %lx cr2 %lx\n"