From: Harvey Harrison Date: Wed, 30 Jan 2008 12:34:10 +0000 (+0100) Subject: x86: unify page fault oops printing X-Git-Tag: v2.6.25-rc1~1143^2~20 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19f0dda91e0dcb38c97bbfcff62b108a3bbc7907;p=linux-2.6 x86: unify page fault oops printing This changes the oops dumping format for page faults to be similar between X86_32 and 64. This is the first user of printk_address on X86_32. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner --- diff --git a/arch/x86/mm/fault_32.c b/arch/x86/mm/fault_32.c index fda3997588..28ea3d3ec8 100644 --- a/arch/x86/mm/fault_32.c +++ b/arch/x86/mm/fault_32.c @@ -340,15 +340,15 @@ static void show_fault_oops(struct pt_regs *regs, unsigned long error_code, "(uid: %d)\n", current->uid); } #endif + printk(KERN_ALERT "BUG: unable to handle kernel "); if (address < PAGE_SIZE) - printk(KERN_ALERT "BUG: unable to handle kernel NULL " - "pointer dereference"); + printk(KERN_CONT "NULL pointer dereference"); else - printk(KERN_ALERT "BUG: unable to handle kernel paging" - " request"); - printk(" at virtual address %08lx\n", address); - printk(KERN_ALERT "printing ip: %08lx ", regs->ip); + printk(KERN_CONT "paging request"); + printk(KERN_CONT " at %08lx\n", address); + printk(KERN_ALERT "IP:"); + printk_address(regs->ip, 1); dump_pagetable(address); } diff --git a/arch/x86/mm/fault_64.c b/arch/x86/mm/fault_64.c index 1897704dad..e12c34ba4b 100644 --- a/arch/x86/mm/fault_64.c +++ b/arch/x86/mm/fault_64.c @@ -296,11 +296,14 @@ static int is_f00f_bug(struct pt_regs *regs, unsigned long address) static void show_fault_oops(struct pt_regs *regs, unsigned long error_code, unsigned long address) { + printk(KERN_ALERT "BUG: unable to handle kernel "); if (address < PAGE_SIZE) - printk(KERN_ALERT "Unable to handle kernel NULL pointer dereference"); + printk(KERN_CONT "NULL pointer dereference"); else - printk(KERN_ALERT "Unable to handle kernel paging request"); - printk(" at %016lx RIP: \n" KERN_ALERT, address); + printk(KERN_CONT "paging request"); + printk(KERN_CONT " at %016lx\n", address); + + printk(KERN_ALERT "IP:"); printk_address(regs->ip, 1); dump_pagetable(address); }