Messages in this thread Patch in this message | | | From | Miklos Szeredi <> | Subject | [PATCH 4/4] fuse: check create mode in atomic open | Date | Wed, 15 Aug 2012 15:59:59 +0200 |
| |
From: Miklos Szeredi <mszeredi@suse.cz>
Verify that the VFS is passing us a complete create mode with the S_IFREG to atomic open.
Reported-by: Steve <steveamigauk@yahoo.co.uk> Reported-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Tested-by: Richard W.M. Jones <rjones@redhat.com> --- fs/fuse/dir.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 8964cf3..324bc08 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -383,6 +383,9 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry, struct fuse_entry_out outentry; struct fuse_file *ff; + /* Userspace expects S_IFREG in create mode */ + BUG_ON((mode & S_IFMT) != S_IFREG); + forget = fuse_alloc_forget(); err = -ENOMEM; if (!forget) -- 1.7.7
| |