Re: [2.5.36] oops when reading /proc/locks

Matthew Wilcox (willy@debian.org)
Thu, 19 Sep 2002 21:16:23 +0100


[note: please cc me or linux-fsdevel when reporting file locking bugs;
i only read linux-kernel on the web and as time permits]

It looks to me like your dereference comes from this line:

if (fl->fl_file != NULL)
inode = fl->fl_file->f_dentry->d_inode;

and, if my terribly weak x86 assembler isn't deceiving me, f_dentry
is NULL. Since you can reproduce this at will, could you insert some
debugging for me?

if (fl->fl_file != NULL) {
if (fl->fl_file->f_dentry) {
inode = fl->fl_file->f_dentry->d_inode;
} else {
printk(KERN_EMERG "null dentry at %d\n", id);
}
}

That will avoid the oops, and tell us who managed to set a file lock on
a file without a dentry.

-- 
Revolutions do not require corporate support.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/