summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-07-27 14:02:57 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2021-07-27 14:02:57 -0700
commit51bbe7ebac25368e4e77a41fdff5f11c42e4ae2d (patch)
treed4c18647278c7384db3722f1c22380e53db8b2ec /kernel
parent82d712f6d147a2fb9998d0ede483949e80fed759 (diff)
parent1e7107c5ef44431bc1ebbd4c353f1d7c22e5f2ec (diff)
Merge branch 'for-5.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup fix from Tejun Heo: "Fix leak of filesystem context root which is triggered by LTP. Not too likely to be a problem in non-testing environments" * 'for-5.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cgroup1: fix leaked context root causing sporadic NULL deref in LTP
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cgroup/cgroup-v1.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c
index 8d6bf56ed77a..de2c432dee20 100644
--- a/kernel/cgroup/cgroup-v1.c
+++ b/kernel/cgroup/cgroup-v1.c
@@ -1221,9 +1221,7 @@ int cgroup1_get_tree(struct fs_context *fc)
ret = cgroup_do_get_tree(fc);
if (!ret && percpu_ref_is_dying(&ctx->root->cgrp.self.refcnt)) {
- struct super_block *sb = fc->root->d_sb;
- dput(fc->root);
- deactivate_locked_super(sb);
+ fc_drop_locked(fc);
ret = 1;
}