Dear all,
I am using at91sam9261 board and linux 2.6.15. I use yaffs as the root file system. After linux starts successfully once, when I try to start the system again , it keeps crashing. Before this, I use ramdisk as root file system and everything is fine. The yaffs root file system is copied into nand flash after linux starts using ramdisk as root file system, and the contents are the same with the ones in ramdisk. I don't know why this happens. Can you give me some help. I am eager to solve this problem. Thanks a lot.
I have figured out the bug is at fs/inode.c:252!
if (inode->i_data.nrpages)
BUG();
Below is the crashing information during start up:
kernel BUG at fs/inode.c:252!
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c3874000
[00000000] *pgd=23fad031, *pte=00000000, *ppte=00000000
Internal error: Oops: 817 [#1]
Modules linked in:
CPU: 0
PC is at __bug+0x40/0x54
LR is at 0x1
pc : [<c002788c>] lr : [<00000001>] Not tainted
sp : c38cbe4c ip : 60000093 fp : c38cbe5c
r10: c0387000 r9 : 00000000 r8 : c385baa8
r7 : c385baa8 r6 : c0021624 r5 : c3dc2580 r4 : 00000000
r3 : 00000000 r2 : 00000000 r1 : 0000161a r0 : 00000001
Flags: nZCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 5317F Table: 23874000 DAC: 00000015
Process ldconfig (pid: 843, stack limit = 0xc38ca194)
Stack: (0xc38cbe4c to 0xc38cc000)
be40: c0021624 c38cbe70 c38cbe60 c008c758 c002785c
be60: c3cd5000 c38cbe8c c38cbe74 c00f4914 c008c708 c0021624 c00f48a4 c3857778
be80: c38cbea4 c38cbe90 c008d83c c00f48b4 c0021624 c385bbb8 c38cbec0 c38cbea8
bea0: c008d8d0 c008d7bc c0021624 c385bbb8 c3857778 c38cbed4 c38cbec4 c008c9c8
bec0: c008d8c0 c385bbb8 c38cbeec c38cbed8 c008a9b8 c008c94c 00000000 c385bbb8
bee0: c38cbfa4 c38cbef0 c0084338 c008a810 c3cd3000 c385baa8 c0374320 e2a6dd9b
bf00: 0000000b c3cd3009 00000010 00000000 00000000 c3c981a4 c38cbf3c c38cbf28
bf20: c008f124 c01188d4 0000000e 00000000 0000000e 00000000 c385baa8 c0374320
bf40: bd2bdc96 0000000c c0387009 00000010 00000000 00000000 00000001 00000001
bf60: 00000000 c38cbf70 c00720e0 c00739ac c3c96ac8 00000003 c3c96ac0 4012f2bc
bf80: 000193e8 00000003 00000026 c0022e84 c38ca000 00018540 00000000 c38cbfa8
bfa0: c0022d00 c00841dc 4012f2bc 000193e8 000193e8 bea59dfc 00000345 00000001
bfc0: 4012f2bc 000193e8 00000003 bea59d9c 00018d68 00018b35 00018540 bea59df0
bfe0: 400742f0 bea59d9c 0000c204 400742f4 60000010 000193e8 00000000 00000000
Backtrace:
[<c002784c>] (__bug+0x0/0x54) from [<c008c758>] (clear_inode+0x60/0xd4)
r4 = C0021624
[<c008c6f8>] (clear_inode+0x0/0xd4) from [<c00f4914>] (yaffs_delete_inode+0x70/0x84)
r4 = C3CD5000
[<c00f48a4>] (yaffs_delete_inode+0x0/0x84) from [<c008d83c>] (generic_delete_inode+0x90/0x104)
r6 = C3857778 r5 = C00F48A4 r4 = C0021624
[<c008d7ac>] (generic_delete_inode+0x0/0x104) from [<c008d8d0>] (generic_drop_inode+0x20/0x174)
r5 = C385BBB8 r4 = C0021624
[<c008d8b0>] (generic_drop_inode+0x0/0x174) from [<c008c9c8>] (iput+0x8c/0xa0)
r6 = C3857778 r5 = C385BBB8 r4 = C0021624
[<c008c93c>] (iput+0x0/0xa0) from [<c008a9b8>] (dput+0x1b8/0x1e8)
r4 = C385BBB8
[<c008a800>] (dput+0x0/0x1e8) from [<c0084338>] (sys_rename+0x16c/0x1c4)
r5 = C385BBB8 r4 = 00000000
[<c00841cc>] (sys_rename+0x0/0x1c4) from [<c0022d00>] (ret_fast_syscall+0x0/0x2c)
Code: 1b00426b e59f0014 eb004269 e3a03000 (e5833000)