diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2018-06-17 19:38:17 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2018-07-11 06:29:03 +0300 |
commit | c7e9075fb89362812059fbf8e25bb4a6e825c4c5 (patch) | |
tree | d76a2d30bc823ac9dd75a6fa4ad2077d3ff5f2f6 /drivers/scsi/cxlflash/ocxl_hw.c | |
parent | d202797f480c0e5918e7642d6716cdc62b3ab5c9 (diff) | |
download | linux-c7e9075fb89362812059fbf8e25bb4a6e825c4c5.tar.xz |
ocxlflash_getfile(): fix double-iput() on alloc_file() failures
Cc: stable@vger.kernel.org
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/scsi/cxlflash/ocxl_hw.c')
-rw-r--r-- | drivers/scsi/cxlflash/ocxl_hw.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_hw.c index 0a95b5f25380..497a68389461 100644 --- a/drivers/scsi/cxlflash/ocxl_hw.c +++ b/drivers/scsi/cxlflash/ocxl_hw.c @@ -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: |