From b957591fee753101f289615abab1c54ff7b1d29d Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Sat, 16 Apr 2005 15:25:00 -0700 Subject: [PATCH] [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 --- arch/x86_64/kernel/head.S | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/x86_64/kernel/head.S b/arch/x86_64/kernel/head.S index b6d8725c1f61..9bd2e7a4b81e 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" -- 2.20.1