]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
fuse: fix memory leak in fuse_create_open
authoryangyun <yangyun50@huawei.com>
Fri, 23 Aug 2024 08:51:46 +0000 (16:51 +0800)
committerMiklos Szeredi <mszeredi@redhat.com>
Wed, 28 Aug 2024 16:10:29 +0000 (18:10 +0200)
The memory of struct fuse_file is allocated but not freed
when get_create_ext return error.

Fixes: 3e2b6fdbdc9a ("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>
fs/fuse/dir.c

index 2b0d4781f39484d50d1fd7f4f673d8b08c5fd7cf..8e96df9fd76c994cae55cdf11710fdcd45d0216d 100644 (file)
@@ -670,7 +670,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);