[BLOCK2MTD] WARNING: at kernel/lockdep.c:2331 lockdep_init_map()

From: Erez Zadok
Date: Fri Oct 19 2007 - 13:57:20 EST


I've been having this problem for some time with mtd, which I use to mount
jffs2 images (for unionfs testing). I've seen it in several recent major
kernels, including 2.6.24. Here's the sequence of ops I perform:

# cp jffs2-empty.img /tmp/foo
# losetup /dev/loop0 /tmp/foo
# modprobe mtdblock
# modprobe block2mtd block2mtd=/dev/loop0,128ki
# mount -t jffs2 /dev/mtdblock0 /n/lower/b0

The jffs2-empty.img is a small jffs2 image, of an empty directory, created
w/ the jffs2 utils. At the point I modprobe block2mtd, I get the following
lockdep warning and a "BUG" message:

BUG: key f88e1340 not in .data!
WARNING: at kernel/lockdep.c:2331 lockdep_init_map()
[<c0102bc2>] show_trace_log_lvl+0x1a/0x2f
[<c0103692>] show_trace+0x12/0x14
[<c01037b2>] dump_stack+0x15/0x17
[<c0125432>] lockdep_init_map+0x94/0x3e4
[<c0125001>] debug_mutex_init+0x2c/0x3c
[<c01210d4>] __mutex_init+0x38/0x40
[<f88e01d3>] 0xf88e01d3
[<c011dda7>] parse_args+0x123/0x200
[<c012b725>] sys_init_module+0xdd0/0x122c
[<c0102586>] sysenter_past_esp+0x5f/0x91
=======================
block2mtd: mtd0: [d: /dev/loop0] erase_size = 128KiB [131072]
block2mtd: version $Revision: 1.30 $

However, everything seems to work afterwards: jffs2 mounts, and all my
unionfs+jffs2 tests succeed.

So, what is this "key xxx not in .data" message and should I worry? Is the
lockdep warning a problem? (It might be a problem if lockdep warnings are
turned off afterwards, so lockdep won't complain about future warnings.)
Heck, am I using mtd/jffs correctly?

Thanks,
Erez.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/