Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d202797f authored by Al Viro's avatar Al Viro
Browse files

cxl_getfile(): fix double-iput() on alloc_file() failures



Doing iput() after path_put() is wrong.

Cc: stable@vger.kernel.org
Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent b4e7a7a8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -103,15 +103,15 @@ static struct file *cxl_getfile(const char *name,
	d_instantiate(path.dentry, inode);

	file = alloc_file(&path, OPEN_FMODE(flags), fops);
	if (IS_ERR(file))
		goto err_dput;
	if (IS_ERR(file)) {
		path_put(&path);
		goto err_fs;
	}
	file->f_flags = flags & (O_ACCMODE | O_NONBLOCK);
	file->private_data = priv;

	return file;

err_dput:
	path_put(&path);
err_inode:
	iput(inode);
err_fs: