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-fsdevel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html