fuse: fix memory leak in fuse_create_open

BugLink: https://bugs.launchpad.net/bugs/2085849

commit 3002240d16494d798add0575e8ba1f284258ab34 upstream.

The memory of struct fuse_file is allocated but not freed
when get_create_ext return error.

Fixes: 3e2b6fdbdc ("fuse: send security context of inode on file")
Cc: stable@vger.kernel.org # v5.17
Signed-off-by: yangyun <yangyun50@huawei.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Manuel Diewald <manuel.diewald@canonical.com>
Signed-off-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
This commit is contained in:
yangyun
2024-08-23 16:51:46 +08:00
committed by Mehmet Basaran
parent 3f308f5ac2
commit 4fad36d0be
+1 -1
View File
@@ -669,7 +669,7 @@ static int fuse_create_open(struct inode *dir, struct dentry *entry,
err = get_create_ext(&args, dir, entry, mode);
if (err)
goto out_put_forget_req;
goto out_free_ff;
err = fuse_simple_request(fm, &args);
free_ext_value(&args);