Re: 2.6.23-rc8-mm2: BUG near reiserfs_xattr_set

From: Christoph Hellwig
Date: Thu Sep 27 2007 - 16:26:26 EST


On Thu, Sep 27, 2007 at 12:48:33PM -0700, Andrew Morton wrote:
> > __fput+0x124/0x1a9
> > fput+0x31/0x35
> > reiserfs_xattr_set+0x291/0x2b0 [reiserfs]
> > user_set+0x4c/0x57 [reiserfs]
> > reiserfs_setxattr+0x81/0xf1 [reiserfs]
> > vfs_setxattr+0x7d/0xfa
> > setxattr+0xb9/0xd1
> > sys_lsetxattr+0x4c/0x85
> > sysenter_past_esp+0x57/0x85
> >
> > EIP: mnt_drop_write+0x5b/0x9d
> >
>
> Hi, Dave!

This sure looks like a result of the reiserfs xattr code beeing
really sucky and passing a NULL vfsmount to dentry_open.

Dave will probably find a bandaid to work around this, but the
right fix is to stop using a file struct here entirely. If you
look at reiserfs_xattr_set it's not actually used at all except
for passing it to ->prepare_write and ->commit_write which then
don't use it at all. All that crap should be rewritten to just
pass the dentry around. Note that all this should not acquire
writer counts on the vfsmount - we have done this already
before calling into the xattr methods.
-
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/