[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

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.




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