BUG in JFFS2 kernel 2.6.27
Anders Grafström
grfstrm at users.sourceforge.net
Tue Jan 13 09:36:43 EST 2009
joakim.tjernlund at transmode.se wrote:
> Just got this BUG:
>
> Data CRC 22c90447 != calculated CRC cbf47f8b for node at 07d2aadc
> ------------[ cut here ]------------
> kernel BUG at fs/jffs2/file.c:251!
> Oops: Exception in kernel mode, sig: 5 [#1]
> TMCUTU
> NIP: c00eb5d0 LR: c004ab34 CTR: c00eb57c
> REGS: ce217bf0 TRAP: 0700 Not tainted (2.6.27)
> MSR: 00029032 <EE,ME,IR,DR> CR: 24022422 XER: 00000000
> TASK = ce1d6800[424] 'ne_swumd' THREAD: ce216000
> GPR00: 00000001 ce217ca0 ce1d6800 ce296520 cf51b708 00000000 002a6000
> 00001000
> GPR08: 00001000 00000000 c016bac4 cf86f600 00400000 10069018 10060000
> 00000000
> GPR16: 002a6000 00000000 00000000 c021010c 00000000 ce296520 cf86f400
> cf51b648
> GPR24: 00000000 00001000 00000000 002a6000 00000000 cf51b670 ce216000
> c0441820
> NIP [c00eb5d0] jffs2_write_end+0x54/0x228
> LR [c004ab34] generic_file_buffered_write+0x178/0x634
> Call Trace:
> [ce217ca0] [c016aa94] release_sock+0x94/0xa8 (unreliable)
> [ce217ce0] [c004ab34] generic_file_buffered_write+0x178/0x634
> [ce217d70] [c004b394] __generic_file_aio_write_nolock+0x3a4/0x568
> [ce217df0] [c004b6b0] generic_file_aio_write+0x68/0x120
> [ce217e20] [c006a1a4] do_sync_write+0xc8/0x13c
> [ce217ef0] [c006a2b4] vfs_write+0x9c/0x174
> [ce217f10] [c006a468] sys_write+0x4c/0x90
> [ce217f40] [c000f3ec] ret_from_syscall+0x0/0x38
> --- Exception: c01 at 0xf9c1744
> LR = 0x1003ce20
> Instruction dump:
> 83a40000 7f384214 54dc053a 817d008c 82cb019c 92e10008 3afdffd8 80090000
> 70090008 41820004 7c000026 54001ffe <0f000000> 6b291000 7d2bfe70 7d604a78
> ---[ end trace 79c27f7a1b03cf81 ]---
>
> Anyone seen something similar?
I think it's this one again:
http://lists.infradead.org/pipermail/linux-mtd/2008-April/021473.html
The patch in the above post avoids this BUG_ON by aborting early when the dnode
read fails and propagates an error code back to userspace and thus avoids this path to be taken.
I didn't pursue it since I was unsure whether it would remove some
self-healing properties of the design in non-debug builds.
More information about the linux-mtd
mailing list