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

From: David Rientjes
Date: Wed Aug 13 2014 - 19:17:12 EST


On Wed, 13 Aug 2014, Fengguang Wu wrote:

> 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);
>

That's been around forever, but I trust that an automated boot testing
robot would find it more troublesome than most, so I agree it needs to be
fixed. One problem: it changes the message from

BUG: unable to handle kernel paging request at %p

to

BUG: unable to handle kernel NULL pointer paging request at %p

and the test for address < PAGE_SIZE is supposed to be the determining
factor on whether it is a "NULL pointer" or not. When that's fixed:

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
--
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/