Re: [RFC][PATCH 3/8] move mnt_want_write() out of may_open()

From: Dave Hansen
Date: Mon Oct 01 2007 - 16:10:47 EST


On Mon, 2007-10-01 at 21:55 +0200, Miklos Szeredi wrote:
> > @@ -1687,10 +1679,8 @@ static int open_namei_create(struct name
> > struct dentry *dir = nd->dentry;
> >
> > /*
> > - * This ensures that the mnt stays writable
> > - * over the vfs_create() call to may_open(),
> > - * which takes a more persistent
> > - * mnt_want_write().
> > + * This mnt_want_write() is potentially persistent,
> > + * and balanced in __fput()
> > */
> > error = mnt_want_write(nd->mnt);
> > if (error) {
>
> I'm confused: isn't it the mnt_want_write() in __dentry_open(), that
> is balanced in __fput()?

This is broken. I didn't realize that nameidata_to_filp() called
dentry_open. I'll rework these.

-- Dave

-
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/