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> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c12b3c6251
commit
b9ba347f27
1 changed files with 1 additions and 1 deletions
|
@ -485,7 +485,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;
|
||||
|
|
Loading…
Reference in a new issue