History

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

Linus Torvalds committed 5 years ago

Commit 51bbe7e2 parents 82d712f 1e7107c3 files · +2 −4Browse files

Unified · Split

3 files
  1. fs/internal.h +0 −1
  2. include/linux/fs_context.h +1 −0
  3. kernel/cgroup/cgroup-v1.c +1 −3
fs/internal.h+0−1
@@ -61,7 +61,6 @@ extern void __init chrdev_init(void); · 60 unmodified lines
6161 */
6262 extern const struct fs_context_operations legacy_fs_context_ops;
6363 extern int parse_monolithic_mount_data(struct fs_context *, void *);
64−extern void fc_drop_locked(struct fs_context *);
6564 extern void vfs_clean_context(struct fs_context *fc);
6665 extern int finish_clean_context(struct fs_context *fc);
6766
include/linux/fs_context.h+1−0
@@ -141,6 +141,7 @@ extern int vfs_get_tree(struct fs_context *fc); · 140 unmodified lines
141141 extern void put_fs_context(struct fs_context *fc);
142142 extern int vfs_parse_fs_param_source(struct fs_context *fc,
143143 struct fs_parameter *param);
144+extern void fc_drop_locked(struct fs_context *fc);
144145
145146 /*
146147 * sget() wrappers to be called from the ->get_tree() op.
kernel/cgroup/cgroup-v1.c+1−3
@@ -1221,9 +1221,7 @@ int cgroup1_get_tree(struct fs_context *fc) · 1220 unmodified lines
12211221 ret = cgroup_do_get_tree(fc);
12221222
12231223 if (!ret && percpu_ref_is_dying(&ctx->root->cgrp.self.refcnt)) {
1224− struct super_block *sb = fc->root->d_sb;
1225− dput(fc->root);
1226− deactivate_locked_super(sb);
1224+ fc_drop_locked(fc);
12271225 ret = 1;
12281226 }
12291227

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t