JFFS2 OOPS in 2.6.20

Joakim Tjernlund joakim.tjernlund at transmode.se
Thu Mar 8 12:33:24 EST 2007


On Thu, 2007-03-08 at 18:14 +0100, Joakim Tjernlund wrote:
> Got a board with that has been powercycle tested while writing to JFFS2
> FS with the following OOPS:
> IP-Config: Complete:
>       device=eth1, addr=192.168.101.172, mask=255.255.255.0,
> gw=192.168.101.1,
>      host=L_172_Node, domain=, nis-domain=(none),
>      bootserver=192.168.1.63, rootserver=192.168.1.63, rootpath=
> eth0: PHY is Generic MII (ffffffff)
> ------------[ cut here ]------------
> Kernel BUG at c00d0a38 [verbose debug info unavailable]
> Oops: Exception in kernel mode, sig: 5 [#1]
> 
> NIP: C00D0A38 LR: C00D09F8 CTR: 00000000
> REGS: cfe8bd60 TRAP: 0700   Not tainted  (2.6.20)
> MSR: 00029032 <EE,ME,IR,DR>  CR: 28028048  XER: 20000000
> TASK = cff107f0[137] 'jffs2_gcd_mtd6' THREAD: cfe8a000
> GPR00: 00000001 CFE8BE10 CFF107F0 00000000 C07EA6C8 00000000 00000000
> 00000000 
> GPR08: C01CF678 01383E70 00000000 00000000 28028084 FC038F43 CFE8BE38
> CFE8BE2C 
> GPR16: CFE8BE38 C01D0000 00000000 C0733E70 CFE8BE24 CFE8BE20 CFF29A0C
> 00000000 
> GPR24: 00000754 CFE8BEA0 CFF29A00 CFF48000 C0733E88 00000001 C07EA6C0
> 00000000 
> NIP [C00D0A38] jffs2_do_read_inode_internal+0x134/0xfe8
> LR [C00D09F8] jffs2_do_read_inode_internal+0xf4/0xfe8
> Call Trace:
> [CFE8BE10] [C00D09D4] jffs2_do_read_inode_internal+0xd0/0xfe8
> (unreliable)
> [CFE8BE90] [C00D1944] jffs2_do_crccheck_inode+0x58/0xb4
> [CFE8BF00] [C00D58C8] jffs2_garbage_collect_pass+0x174/0x6c4
> [CFE8BF50] [C00D70F4] jffs2_garbage_collect_thread+0xa0/0x11c
> [CFE8BFF0] [C000FF70] kernel_thread+0x44/0x60
> Instruction dump:
> 38000000 6000e001 7f860000 419e03ec 38000000 6000e002 7f860000 419e05f0 
> 813c0004 71200003 7c000026 54001ffe <0f000000> 60c92000 b13e0002
> a0de0002 
>  VFS: Mounted root (jffs2 filesystem).
> Freeing unused kernel memory: 128k init
> 
> If someone can make an guess whats wrong, I would be a happy man
> 
>  Jocke

Adding verbose BUG reporting I see that this happens in 
fs/jffs2/readinode.c:376!
which looks:
static inline int read_unknown(struct jffs2_sb_info *c, struct jffs2_raw_node_ref *ref, struct jffs2_unknown_node *un)
{
	/* We don't mark unknown nodes as REF_UNCHECKED */
	BUG_ON(ref_flags(ref) == REF_UNCHECKED);






More information about the linux-mtd mailing list