Messages in this thread | | | Date | Fri, 18 Dec 2009 09:12:27 -0800 (PST) | From | Davide Libenzi <> | Subject | Re: [PATCH] anonfd: Make file read-only if fops->write is not set |
| |
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
| |