crash in init_ipic_sysfs on efika
Grant Likely
grant.likely at secretlab.ca
Fri Mar 21 16:14:52 EST 2008
On Mon, Mar 17, 2008 at 1:53 PM, Olaf Hering <olaf at aepfle.de> wrote:
>
> I cant reproduce this bug on my board, but:
>
> The global primary_ipic in arch/powerpc/sysdev/ipic.c can remain NULL if
> ipic_init() fails. init_ipic_sysfs() will crash in that case.
>
> Something like this may fix it:
>
> Index: linux-2.6.25-rc6/arch/powerpc/sysdev/ipic.c
> ===================================================================
> --- linux-2.6.25-rc6.orig/arch/powerpc/sysdev/ipic.c
> +++ linux-2.6.25-rc6/arch/powerpc/sysdev/ipic.c
> @@ -906,7 +906,7 @@ static int __init init_ipic_sysfs(void)
> {
> int rc;
>
> - if (!primary_ipic->regs)
> + if (!primary_ipic || !primary_ipic->regs)
> return -ENODEV;
> printk(KERN_DEBUG "Registering ipic with sysfs...\n");
Confirmed, this patch fixes the problem. Paulus or Kumar, can you
please pick it up for .25?
Thanks,
g.
>
>
>
> ok boot eth:192.168.2.52,inst32 inst32 console=ttyPSC0,115200
>
> SuSE Linux zImage starting: loaded at 00040000-00d24cbc (0/0/01003ed8;
> sp: 017ffe80)
> uncompressing ELF header done. (00000100 bytes)
> Allocated 008584d4 bytes for kernel @ 02000000
> Allocated 00a963a2 bytes for initrd @ 02859000
> uncompressing kernel done. (004faeb8 bytes)
> entering kernel at 02010000(2859000/a963a2/01003ed8)
> OF stdout device is: /failsafe
> command line: console=ttyPSC0,115200
> memory layout at init:
> alloc_bottom : 032f0000
> alloc_top : 30000000
> alloc_top_hi : f000c000
> rmo_top : 30000000
> ram_top : f000c000
> Looking for displays
> instantiating rtas at 0x07ffb000 ... done
> Applying EFIKA device tree fixups
> Fixing bestcomm interrupts property
> Adding Ethernet MDIO node
> Adding Ethernet PHY node
> copying OF device tree ...
> Building dt strings...
> Building dt structure...
> Device tree strings 0x032f1000 -> 0x032f17e0
> Device tree struct 0x032f2000 -> 0x03315000
> Calling quiesce ...
> returning from prom_init
> Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
> Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
> Memory: 113264k/131072k available (4808k kernel code, 17648k reserved,
> 164k data, 461k bss, 228k init)
> Security Framework initialized
> AppArmor: AppArmor initialized
> AppArmor: Unable to log event (1505) to audit subsys
> AppArmor: Registered secondary security module name="capability"
> AppArmor: Unable to log event (1505) to audit subsys
> Capability LSM initialized as secondary
> Failure registering Root Plug module with the kernel
> AppArmor: Unable to register %s as a secondary security module
> name="root_plug"
> AppArmor: Unable to log event (1505) to audit subsys
> Failure registering Root Plug module with primary security module.
> Mount-cache hash table entries: 512
> net_namespace: 544 bytes
> NET: Registered protocol family 16
> PCI: Probing PCI hardware
> DMA: MPC52xx BestComm driver
> DMA: MPC52xx BestComm engine @f0001200 ok !
> Unable to handle kernel paging request for data at address 0x00000000
> Faulting instruction address: 0xc0486aac
> Oops: Kernel access of bad area, sig: 11 [#1]
> Efika
> Modules linked in:
> NIP: c0486aac LR: c0479200 CTR: c0486a90
> REGS: c782bea0 TRAP: 0300 Not tainted (2.6.25-rc5-git2-5-default)
> MSR: 00009032 <EE,ME,IR,DR> CR: 44002082 XER: 20000000
> DAR: 00000000, DSISR: 20000000
> TASK = c78237c0[1] 'swapper' THREAD: c782a000
> GPR00: c0479200 c782bf50 c78237c0 ffffffed 00000003 00000000 00000000
> 00000000
> GPR08: fffffffc 00000000 c7800780 000f06a0 22002022 dffffff7 c0405540
> c0405558
> GPR16: c0405568 c040558c c0405594 c04055a4 c04055d0 c0400000 024184a4
> ffffffff
> GPR24: 00000000 c04a6468 c0405550 c782a000 c04e0000 00000000 00000000
> c04af198
> NIP [c0486aac] init_ipic_sysfs+0x1c/0x90
> LR [c0479200] kernel_init+0xf8/0x2a0
> Call Trace:
> [c782bf50] [c04869fc] mpc52xx_bcom_init+0x24/0x34 (unreliable)
> [c782bf60] [c0479200] kernel_init+0xf8/0x2a0
> [c782bff0] [c001330c] kernel_thread+0x44/0x60
> Instruction dump:
> 80010024 bb61000c 38210020 7c0803a6 4e800020 9421fff0 7c0802a6 3d20c04f
> 3860ffed 90010014 93e1000c 81299730 <80090000> 2f800000 41be0058 3c60c041
> ---[ end trace 8640abe69a316dee ]---
> Kernel panic - not syncing: Attempted to kill init!
> Rebooting in 180 seconds..
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the Linuxppc-dev
mailing list