From 19f0dda91e0dcb38c97bbfcff62b108a3bbc7907 Mon Sep 17 00:00:00 2001 From: Harvey Harrison Date: Wed, 30 Jan 2008 13:34:10 +0100 Subject: [PATCH] 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 --- arch/x86/mm/fault_32.c | 12 ++++++------ arch/x86/mm/fault_64.c | 9 ++++++--- 2 files changed, 12 insertions(+), 9 deletions(-) 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); } -- 2.39.5