ocxlflash_getfile(): fix double-iput() on alloc_file() failures
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 17 Jun 2018 16:38:17 +0000 (12:38 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 11 Jul 2018 03:29:03 +0000 (23:29 -0400)
Cc: stable@vger.kernel.org
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/scsi/cxlflash/ocxl_hw.c

index 0a95b5f253807888a8fa680397e5e344236d81d6..497a6838946198b6bac403b38e2ecc76b9678ff7 100644 (file)
@@ -134,15 +134,14 @@ static struct file *ocxlflash_getfile(struct device *dev, const char *name,
                rc = PTR_ERR(file);
                dev_err(dev, "%s: alloc_file failed rc=%d\n",
                        __func__, rc);
-               goto err5;
+               path_put(&path);
+               goto err3;
        }
 
        file->f_flags = flags & (O_ACCMODE | O_NONBLOCK);
        file->private_data = priv;
 out:
        return file;
-err5:
-       path_put(&path);
 err4:
        iput(inode);
 err3: