Re: [PATCH] anonfd: Make file read-only if fops->write is not set

From: Davide Libenzi
Date: Fri Dec 18 2009 - 12:12:42 EST


On Fri, 18 Dec 2009, Al Viro wrote:

> On Thu, Dec 17, 2009 at 09:46:11PM -0800, Roland Dreier wrote:
> > diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c
> > index 2c99459..097f91f 100644
> > --- a/fs/anon_inodes.c
> > +++ b/fs/anon_inodes.c
> > @@ -121,13 +121,13 @@ struct file *anon_inode_getfile(const char *name,
> > d_instantiate(path.dentry, anon_inode_inode);
> >
> > error = -ENFILE;
> > - file = alloc_file(&path, FMODE_READ | FMODE_WRITE, fops);
> > + file = alloc_file(&path, FMODE_READ | (fops->write ? FMODE_WRITE : 0), fops);
>
> Good grief, what for? We are already passing O_NDELAY in flags argument,
> why not add O_RDWR/O_RDONLY to it? It's not as if we had that many
> callers, after all...

I agree. We're better off explicitly passing the flags instead of doing
some detection magic.


- Davide


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