2007-02-24 05:28:56

by Glauber Costa

[permalink] [raw]
Subject: [PATCH] Print error code in page faults

diff --git a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c
index 6ada723..e65522e 100644
--- a/arch/x86_64/mm/fault.c
+++ b/arch/x86_64/mm/fault.c
@@ -539,7 +539,7 @@ no_context:
printk(KERN_ALERT "Unable to handle kernel NULL pointer dereference");
else
printk(KERN_ALERT "Unable to handle kernel paging request");
- printk(" at %016lx RIP: \n" KERN_ALERT,address);
+ printk(" at %016lx (error=0x%02lx) RIP: \n" KERN_ALERT, error_code, address);
printk_address(regs->rip);
dump_pagetable(address);
tsk->thread.cr2 = address;


Attachments:
(No filename) (312.00 B)
patch_err (542.00 B)
Download all attachments

2007-02-24 19:12:48

by Chuck Ebbert

[permalink] [raw]
Subject: Re: [PATCH] Print error code in page faults

Glauber de Oliveira Costa wrote:
> When a page faults comes from a kernel space, the printed summary
> leaves us clueless about what kind of access was being tried (which
> is encoded in the error_code variable).
>
> Having it promply available may ease debugging in a bunch of
> situations.
>
> Signed-off-by: Glauber de Oliveira Costa <[email protected]>
>
>
>
> ------------------------------------------------------------------------
>
> diff --git a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c
> index 6ada723..e65522e 100644
> --- a/arch/x86_64/mm/fault.c
> +++ b/arch/x86_64/mm/fault.c
> @@ -539,7 +539,7 @@ no_context:
> printk(KERN_ALERT "Unable to handle kernel NULL pointer dereference");
> else
> printk(KERN_ALERT "Unable to handle kernel paging request");
> - printk(" at %016lx RIP: \n" KERN_ALERT,address);
> + printk(" at %016lx (error=0x%02lx) RIP: \n" KERN_ALERT, error_code, address);
> printk_address(regs->rip);
> dump_pagetable(address);
> tsk->thread.cr2 = address;

Umm, it's already there, right after the word "Oops".


Oops: 0002 [1] SMP
^^^^


2007-02-25 02:41:41

by Glauber Costa

[permalink] [raw]
Subject: Re: [PATCH] Print error code in page faults

On Sat, Feb 24, 2007 at 02:12:29PM -0500, Chuck Ebbert wrote:
>
> Umm, it's already there, right after the word "Oops".
>
>
> Oops: 0002 [1] SMP
> ^^^^
Oops! ;-)


--
Glauber de Oliveira Costa
Red Hat Inc.
"Free as in Freedom"

2007-02-25 21:37:47

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] Print error code in page faults

On Saturday 24 February 2007 06:31, Glauber de Oliveira Costa wrote:
> When a page faults comes from a kernel space, the printed summary
> leaves us clueless about what kind of access was being tried (which
> is encoded in the error_code variable).
>
> Having it promply available may ease debugging in a bunch of
> situations.

It's in the __die output. I don't think outputting it twice is needed

-Andi