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/