]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.4.120/sget-handle-failures-of-register_shrinker.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 4.4.120 / sget-handle-failures-of-register_shrinker.patch
CommitLineData
d996137a
GKH
1From foo@baz Wed Feb 28 16:19:30 CET 2018
2From: Al Viro <viro@zeniv.linux.org.uk>
3Date: Mon, 18 Dec 2017 15:05:07 -0500
4Subject: sget(): handle failures of register_shrinker()
5
6From: Al Viro <viro@zeniv.linux.org.uk>
7
8
9[ Upstream commit 9ee332d99e4d5a97548943b81c54668450ce641b ]
10
11Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
13Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14---
15 fs/super.c | 6 +++++-
16 1 file changed, 5 insertions(+), 1 deletion(-)
17
18--- a/fs/super.c
19+++ b/fs/super.c
20@@ -497,7 +497,11 @@ retry:
21 hlist_add_head(&s->s_instances, &type->fs_supers);
22 spin_unlock(&sb_lock);
23 get_filesystem(type);
24- register_shrinker(&s->s_shrink);
25+ err = register_shrinker(&s->s_shrink);
26+ if (err) {
27+ deactivate_locked_super(s);
28+ s = ERR_PTR(err);
29+ }
30 return s;
31 }
32