]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/2.6.27.14/fuse-fix-missing-fput-on-error.patch
Linux 4.14.95
[thirdparty/kernel/stable-queue.git] / releases / 2.6.27.14 / fuse-fix-missing-fput-on-error.patch
1 From 3ddf1e7f57237ac7c5d5bfb7058f1ea4f970b661 Mon Sep 17 00:00:00 2001
2 From: Miklos Szeredi <mszeredi@suse.cz>
3 Date: Mon, 26 Jan 2009 15:00:58 +0100
4 Subject: fuse: fix missing fput on error
5
6 From: Miklos Szeredi <mszeredi@suse.cz>
7
8 commit 3ddf1e7f57237ac7c5d5bfb7058f1ea4f970b661 upstream.
9
10 Fix the leaking file reference if allocation or initialization of
11 fuse_conn failed.
12
13 Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
14 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
15
16 ---
17 fs/fuse/inode.c | 8 ++++++--
18 1 file changed, 6 insertions(+), 2 deletions(-)
19
20 --- a/fs/fuse/inode.c
21 +++ b/fs/fuse/inode.c
22 @@ -832,12 +832,16 @@ static int fuse_fill_super(struct super_
23 if (!file)
24 return -EINVAL;
25
26 - if (file->f_op != &fuse_dev_operations)
27 + if (file->f_op != &fuse_dev_operations) {
28 + fput(file);
29 return -EINVAL;
30 + }
31
32 fc = new_conn(sb);
33 - if (!fc)
34 + if (!fc) {
35 + fput(file);
36 return -ENOMEM;
37 + }
38
39 fc->flags = d.flags;
40 fc->user_id = d.user_id;