]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - 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
CommitLineData
72c67258
GKH
1From 3ddf1e7f57237ac7c5d5bfb7058f1ea4f970b661 Mon Sep 17 00:00:00 2001
2From: Miklos Szeredi <mszeredi@suse.cz>
3Date: Mon, 26 Jan 2009 15:00:58 +0100
4Subject: fuse: fix missing fput on error
5
6From: Miklos Szeredi <mszeredi@suse.cz>
7
8commit 3ddf1e7f57237ac7c5d5bfb7058f1ea4f970b661 upstream.
9
10Fix the leaking file reference if allocation or initialization of
11fuse_conn failed.
12
13Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
14Signed-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;