[PATCH] Fix powerpc bad_page_fault output (Re: 2.6.16-rc5-mm1)

Olof Johansson olof at lixom.net
Thu Mar 2 03:45:31 EST 2006


On Tue, Feb 28, 2006 at 03:56:24PM -0800, Martin Bligh wrote:
> Andrew Morton wrote:
> >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc5/2.6.16-rc5-mm1/
> 
> New panic on IBM power4 lpar of P690. 2.6.16-rc5-git3 is OK.
> 
> (config: 
> http://ftp.kernel.org/pub/linux/kernel/people/mbligh/config/abat/power4)
> 
> http://test.kernel.org/24165/debug/console.log

For what it's worth, this is a NULL pointer dereference in the RCU
code.

Seems that the human-readible parts are printed at a differnet printk level
(well, _at_ a level), so they fell off. Not good.

Andrew and/or Paulus, see patch below.


Thanks,

Olof


---

It seems that the die() output is printk'd without any prink level,
so some distros will log the register dumps and the human readible
format differently.

(I.e. see http://test.kernel.org/24165/debug/console.log, which lacks
the KERN_ALERT parts)

Changing the die() output to include a level will likely confuse users
that currently rely on getting the output where they're getting it,
so instead remove it from the bad_page_fault() output.

Signed-off-by: Olof Johansson <olof at lixom.net>


diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index ec4adcb..fee050a 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -389,7 +389,7 @@ void bad_page_fault(struct pt_regs *regs
 
 	/* kernel has accessed a bad area */
 
-	printk(KERN_ALERT "Unable to handle kernel paging request for ");
+	printk("Unable to handle kernel paging request for ");
 	switch (regs->trap) {
 		case 0x300:
 		case 0x380:
@@ -402,8 +402,7 @@ void bad_page_fault(struct pt_regs *regs
 		default:
 			printk("unknown fault\n");
 	}
-	printk(KERN_ALERT "Faulting instruction address: 0x%08lx\n",
-		regs->nip);
+	printk("Faulting instruction address: 0x%08lx\n", regs->nip);
 
 	die("Kernel access of bad area", regs, sig);
 }



More information about the Linuxppc64-dev mailing list