[PATCH] x86: fix messed up page fault BUG messages

From: Fengguang Wu
Date: Wed Aug 13 2014 - 07:27:28 EST


The 0day boot test robot hits messed up BUG lines like

[ 25.732010] BUG: unable to handle kernel paging requestrun: /lkp/wfg/sr at 000000000000d908
[ 24.986598] BUG: unable to handle kernel run: /lkp/wfg/srpaging request at 000000000000d908
[ 24.914406] BUG: unable to handle kernel run: /lkp/wfg/srearly console in decompress_kernel

Which makes the generated bug ID not stable and hence not bisectable.

Fix it by printing the BUG message in one shot.

Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
---
arch/x86/mm/fault.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 3664279..f3e0e0a 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -599,13 +599,13 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code,
printk(nx_warning, from_kuid(&init_user_ns, current_uid()));
}

- printk(KERN_ALERT "BUG: unable to handle kernel ");
if (address < PAGE_SIZE)
- printk(KERN_CONT "NULL pointer dereference");
+ printk(KERN_ALERT "BUG: unable to handle kernel NULL pointer dereference at %p\n",
+ (void *) address);
else
- printk(KERN_CONT "paging request");
+ printk(KERN_ALERT "BUG: unable to handle kernel NULL pointer paging request at %p\n",
+ (void *) address);

- printk(KERN_CONT " at %p\n", (void *) address);
printk(KERN_ALERT "IP:");
printk_address(regs->ip);

--
2.1.0.rc1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/