diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2007-05-21 11:39:58 +0200 |
---|---|---|
committer | Chris Wright <chrisw@sous-sol.org> | 2007-06-11 11:37:10 -0700 |
commit | b9d493f10e0b20db0976506d4e3a31857d228051 (patch) | |
tree | 0bd624df8ecd87d78b18e92634dadb09772193c3 | |
parent | 16c772d85903aa71be9a5e80b3c159ee8dc9ebe0 (diff) |
[PATCH] fuse: fix mknod of regular file
The wrong lookup flag was tested in ->create() causing havoc (error or
Oops) when a regular file was created with mknod() in a fuse
filesystem.
Thanks to J. Cameijo Cerdeira for the report.
Kernels 2.6.18 onward are affected. Please apply to -stable as well.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | fs/fuse/dir.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 40080477ceb..942069b8233 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -484,7 +484,7 @@ static int fuse_mknod(struct inode *dir, struct dentry *entry, int mode, static int fuse_create(struct inode *dir, struct dentry *entry, int mode, struct nameidata *nd) { - if (nd && (nd->flags & LOOKUP_CREATE)) { + if (nd && (nd->flags & LOOKUP_OPEN)) { int err = fuse_create_open(dir, entry, mode, nd); if (err != -ENOSYS) return err; |