On Thu, Apr 17, 2014 at 06:14:51PM -0700, Lin Ming wrote: > Hi Dave, > > I tried to reproduce bug "BUG at mm/filemap.c:202!" > https://lkml.org/lkml/2014/4/15/577 with the attached programs. > I can't reproduce it, but it triggered another bug related to commit b18825a7c. > > commit b18825a7c8e37a7cf6abb97a12a6ad71af160de7 > Author: David Howells <dhowells@xxxxxxxxxx> > Date: Thu Sep 12 19:22:53 2013 +0100 > > VFS: Put a small type field into struct dentry::d_flags > > [ 216.673863] BUG: unable to handle kernel NULL pointer dereference > at (null) > [ 216.674235] IP: [<ffffffff81108961>] do_last.isra.44+0x7d2/0x9ea Where is it in do_last()? Hard to tell without even the hex dump of oopsing code (and trying to reproduce it here hasn't produced any oopsen so far). And your test.c is _really_ weird: > fd = open("/mnt/t.txt", 0666); Just what is that 0666 doing, in your opinion? And how is it different from O_NOCTTY | O_EXCL | O_RDWR (which also makes zero sense)? And this read() loop is just plain odd - you are leaving it if read(fd, &c, 1) gives you 0 and proceed to print (uninitialized in that case) value of c... Anyway, I'd really like to see your .config (or, better yet, disassembly of do_last) along with the hex dump of oopsing code. Without that... -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html