From mboxrd@z Thu Jan 1 00:00:00 1970 From: s.neumann@raumfeld.com (Sven Neumann) Date: Wed, 05 Jan 2011 12:43:21 +0100 Subject: kernel NULL pointer dereference in pxa3xx_nand_probe Message-ID: <1294227801.3996.62.camel@sven> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, I've tried upgrading the kernel for a PXA300 based device from 2.6.36.2 to 2.6.37 and now it crashes on boot. Looks like a regression in the PXA3XX NAND code. Does anyone have a clue on what might be going wrong or will I have to bisect this? [ 0.000000] Linux version 2.6.37 (sven at sven) (gcc version 4.3.5 (GCC) ) #1 Wed Jan 5 12:22:57 CET 2011 [ 0.000000] CPU: XScale-V3 based processor [69056881] revision 1 (ARMv5TE), cr=0000397f [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine: Raumfeld Controller [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200 root=ubi0:RootFS rootfstype=ubifs rw ubi.mtd=3 [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Memory: 128MB = 128MB total [ 0.000000] Memory: 124428k/124428k available, 6644k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] DMA : 0xffc00000 - 0xffe00000 ( 2 MB) [ 0.000000] vmalloc : 0xc8800000 - 0xe8000000 ( 504 MB) [ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB) [ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB) [ 0.000000] .init : 0xc0008000 - 0xc0047000 ( 252 kB) [ 0.000000] .text : 0xc0047000 - 0xc04fcfc0 (4824 kB) [ 0.000000] .data : 0xc04fe000 - 0xc05240e0 ( 153 kB) [ 0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:288 nr_irqs:288 288 [ 0.000000] Console: colour dummy device 80x30 [ 24.433568] Calibrating delay loop... 103.83 BogoMIPS (lpj=519168) [ 24.613627] pid_max: default: 32768 minimum: 301 [ 24.614271] Mount-cache hash table entries: 512 [ 24.615944] CPU: Testing write buffer coherency: ok [ 24.637025] regulator: core version 0.5 [ 24.640368] regulator: dummy: [ 24.641070] NET: Registered protocol family 16 [ 24.800409] bio: create slab at 0 [ 24.811068] SCSI subsystem initialized [ 24.816485] usbcore: registered new interface driver usbfs [ 24.818824] usbcore: registered new interface driver hub [ 24.820260] usbcore: registered new device driver usb [ 24.829244] regulator: V6(LDO): 3300 mV normal [ 24.829495] max8660 1-0034: Maxim 8660/8661 regulator driver loaded [ 24.829627] I2C: i2c-1: PXA I2C adapter [ 24.833247] I2C: i2c-0: PXA I2C adapter [ 24.841836] Advanced Linux Sound Architecture Driver Version 1.0.23. [ 24.849337] cfg80211: Calling CRDA to update world regulatory domain [ 24.856798] Switching to clocksource oscr0 [ 24.857409] FS-Cache: Loaded [ 24.859185] CacheFiles: Loaded [ 24.866203] Switched to NOHz mode on CPU #0 [ 24.989241] NET: Registered protocol family 2 [ 24.989794] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 24.991284] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 24.992050] TCP bind hash table entries: 4096 (order: 2, 16384 bytes) [ 24.992548] TCP: Hash tables configured (established 4096 bind 4096) [ 24.992641] TCP reno registered [ 24.992732] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 24.992924] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 24.994044] NET: Registered protocol family 1 [ 24.995271] RPC: Registered udp transport module. [ 24.995365] RPC: Registered tcp transport module. [ 24.995444] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 24.998402] CPUFREQ support for PXA3xx initialized [ 25.039293] FS-Cache: Netfs 'nfs' registered for caching [ 25.042156] msgmni has been set to 243 [ 25.043502] io scheduler noop registered [ 25.043527] io scheduler deadline registered [ 25.043712] io scheduler cfq registered (default) [ 25.096255] Console: switching to colour frame buffer device 60x34 [ 25.110165] pxa3xx-gcu pxa3xx-gcu: registered @0x54000000, DMA 0xa6180000 (262144 bytes), IRQ 39 [ 25.901212] pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 22) is a FFUART [ 26.264311] console [ttyS0] enabled [ 26.280438] loop: module loaded [ 26.288066] Unable to handle kernel NULL pointer dereference at virtual address 00000008 [ 26.296120] pgd = c0004000 [ 26.298893] [00000008] *pgd=00000000 [ 26.302445] Internal error: Oops: 5 [#1] [ 26.306332] last sysfs file: [ 26.309272] Modules linked in: [ 26.312301] CPU: 0 Not tainted (2.6.37 #1) [ 26.316724] PC is at __readid+0x10/0xd4 [ 26.320537] LR is at pxa3xx_nand_probe+0x350/0x6d0 [ 26.325293] pc : [] lr : [] psr: 60000013 [ 26.325305] sp : c6031ed8 ip : 00000800 fp : 0000002d [ 26.336695] r10: c05054e8 r9 : c62437a0 r8 : c60c2800 [ 26.341884] r7 : c0503d28 r6 : c6031ef8 r5 : 00000040 r4 : c60c2998 [ 26.348362] r3 : 00000000 r2 : c104dfff r1 : c6031ef8 r0 : c60c2998 [ 26.354843] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel [ 26.362103] Control: 0000397f Table: a0004018 DAC: 00000035 [ 26.367806] Process swapper (pid: 1, stack limit = 0xc6030278) [ 26.373596] Stack: (0xc6031ed8 to 0xc6032000) [ 26.377925] 1ec0: c0503d20 c0503d28 [ 26.386055] 1ee0: c60c2998 00000040 c0503d20 c0205108 c0487ed2 c60c2998 ffffffff ffffffff [ 26.394188] 1f00: c05149dc c0503d28 c0503d28 c05149dc c05149dc c0511098 00000000 00000000 [ 26.402322] 1f20: 00000000 c01daa70 c05149dc c01d9a94 c6232e40 c0503d28 c0503d5c c05149dc [ 26.410455] 1f40: c6031f58 c01d9bd8 00000000 c01d9b78 c05149dc c01d92c4 c6004d38 c6056750 [ 26.418587] 1f60: c0511098 c00217bc c05149dc c05149dc c6232e40 c01d8b8c c0487ed2 c051b3cc [ 26.426720] 1f80: c6243700 c00217bc c002195c c05149dc 00000013 c00188dc 00000000 c01d9ee0 [ 26.434853] 1fa0: c00217bc c002195c c0048984 00000013 c00188dc c0047404 00000033 00000000 [ 26.442985] 1fc0: 00000013 00000120 c05086ec c00217bc c002195c c0048984 00000013 00000000 [ 26.451117] 1fe0: 00000000 c000853c 00000000 00000000 c00084a4 c0048984 00000000 00000000 [ 26.459268] [] (__readid+0x10/0xd4) from [] (pxa3xx_nand_probe+0x350/0x6d0) [ 26.467942] [] (pxa3xx_nand_probe+0x350/0x6d0) from [] (platform_drv_probe+0x1c/0x24) [ 26.477464] [] (platform_drv_probe+0x1c/0x24) from [] (driver_probe_device+0xb4/0x198) [ 26.487067] [] (driver_probe_device+0xb4/0x198) from [] (__driver_attach+0x60/0x84) [ 26.496414] [] (__driver_attach+0x60/0x84) from [] (bus_for_each_dev+0x4c/0x8c) [ 26.505408] [] (bus_for_each_dev+0x4c/0x8c) from [] (bus_add_driver+0xac/0x22c) [ 26.514403] [] (bus_add_driver+0xac/0x22c) from [] (driver_register+0xc0/0x150) [ 26.523416] [] (driver_register+0xc0/0x150) from [] (do_one_initcall+0xc4/0x198) [ 26.532506] [] (do_one_initcall+0xc4/0x198) from [] (kernel_init+0x98/0x150) [ 26.541252] [] (kernel_init+0x98/0x150) from [] (kernel_thread_exit+0x0/0x8) [ 26.549987] Code: e92d4070 e590322c e24dd008 e1a06001 (e1d310b8) [ 26.556173] ---[ end trace 5df7be383a843a01 ]--- [ 26.560823] Kernel panic - not syncing: Attempted to kill init! [ 26.566768] [] (unwind_backtrace+0x0/0xec) from [] (panic+0x4c/0x188) [ 26.574955] [] (panic+0x4c/0x188) from [] (do_exit+0x64/0x5e8) [ 26.582531] [] (do_exit+0x64/0x5e8) from [] (die+0x1b4/0x1e4) [ 26.590027] [] (die+0x1b4/0x1e4) from [] (__do_kernel_fault+0x64/0x88) [ 26.598295] [] (__do_kernel_fault+0x64/0x88) from [] (do_page_fault+0x1b8/0x1d0) [ 26.607437] [] (do_page_fault+0x1b8/0x1d0) from [] (do_DataAbort+0x34/0x94) [ 26.616099] [] (do_DataAbort+0x34/0x94) from [] (__dabt_svc+0x4c/0x60) [ 26.624339] Exception stack(0xc6031e90 to 0xc6031ed8) [ 26.629391] 1e80: c60c2998 c6031ef8 c104dfff 00000000 [ 26.637556] 1ea0: c60c2998 00000040 c6031ef8 c0503d28 c60c2800 c62437a0 c05054e8 0000002d [ 26.645685] 1ec0: 00000800 c6031ed8 c0205108 c0204a68 60000013 ffffffff [ 26.652304] [] (__dabt_svc+0x4c/0x60) from [] (__readid+0x10/0xd4) [ 26.660223] [] (__readid+0x10/0xd4) from [] (pxa3xx_nand_probe+0x350/0x6d0) [ 26.668930] [] (pxa3xx_nand_probe+0x350/0x6d0) from [] (platform_drv_probe+0x1c/0x24) [ 26.678498] [] (platform_drv_probe+0x1c/0x24) from [] (driver_probe_device+0xb4/0x198) [ 26.688146] [] (driver_probe_device+0xb4/0x198) from [] (__driver_attach+0x60/0x84) [ 26.697538] [] (__driver_attach+0x60/0x84) from [] (bus_for_each_dev+0x4c/0x8c) [ 26.706542] [] (bus_for_each_dev+0x4c/0x8c) from [] (bus_add_driver+0xac/0x22c) [ 26.715577] [] (bus_add_driver+0xac/0x22c) from [] (driver_register+0xc0/0x150) [ 26.724627] [] (driver_register+0xc0/0x150) from [] (do_one_initcall+0xc4/0x198) [ 26.733757] [] (do_one_initcall+0xc4/0x198) from [] (kernel_init+0x98/0x150) [ 26.742546] [] (kernel_init+0x98/0x150) from [] (kernel_thread_exit+0x0/0x8) Regards, Sven