do_tmpfile(): don't mess with finish_open()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 11 Mar 2020 21:22:19 +0000 (17:22 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 4 Jan 2021 02:06:02 +0000 (21:06 -0500)
use vfs_open() instead

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namei.c

index 78443a8..a3b3ca6 100644 (file)
@@ -3325,10 +3325,8 @@ static int do_tmpfile(struct nameidata *nd, unsigned flags,
        audit_inode(nd->name, child, 0);
        /* Don't check for other permissions, the inode was just created */
        error = may_open(&path, 0, op->open_flag);
-       if (error)
-               goto out2;
-       file->f_path.mnt = path.mnt;
-       error = finish_open(file, child, NULL);
+       if (!error)
+               error = vfs_open(&path, file);
 out2:
        mnt_drop_write(path.mnt);
 out: