aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2012-04-01 15:09:54 -0400
committerTejun Heo <tj@kernel.org>2012-04-01 15:09:54 -0400
commit8b5a5a9dbca914d1f7d70276024d1525a3c94081 (patch)
tree15667c2e0da1331d0253dcc2598bc64983fa539d
parentdd775ae2549217d3ae09363e3edb305d0fa19928 (diff)
cgroup: deprecate remount option changes
This patch marks the following features for deprecation. * Rebinding subsys by remount: Never reached useful state - only works on empty hierarchies. * release_agent update by remount: release_agent itself will be replaced with conventional fsnotify notification. v2: Lennart pointed out that "name=" is necessary for mounts w/o any controller attached. Drop "name=" deprecation. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizf@cn.fujitsu.com> Cc: Lennart Poettering <mzxreary@0pointer.de>
-rw-r--r--Documentation/feature-removal-schedule.txt9
-rw-r--r--kernel/cgroup.c5
2 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index c1be8066ea59..5298e126cea3 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -539,3 +539,12 @@ Why: There appear to be no production users of the get_robust_list syscall,
539 of ASLR. It was only ever intended for debugging, so it should be 539 of ASLR. It was only ever intended for debugging, so it should be
540 removed. 540 removed.
541Who: Kees Cook <keescook@chromium.org> 541Who: Kees Cook <keescook@chromium.org>
542
543----------------------------
544
545What: cgroup option updates via remount
546When: March 2013
547Why: Remount currently allows changing bound subsystems and
548 release_agent. Rebinding is hardly useful as it only works
549 when the hierarchy is empty and release_agent itself should be
550 replaced with conventional fsnotify.
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index ed64ccac67c9..741c120e06c1 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -1294,6 +1294,11 @@ static int cgroup_remount(struct super_block *sb, int *flags, char *data)
1294 if (ret) 1294 if (ret)
1295 goto out_unlock; 1295 goto out_unlock;
1296 1296
1297 /* See feature-removal-schedule.txt */
1298 if (opts.subsys_bits != root->actual_subsys_bits || opts.release_agent)
1299 pr_warning("cgroup: option changes via remount are deprecated (pid=%d comm=%s)\n",
1300 task_tgid_nr(current), current->comm);
1301
1297 /* Don't allow flags or name to change at remount */ 1302 /* Don't allow flags or name to change at remount */
1298 if (opts.flags != root->flags || 1303 if (opts.flags != root->flags ||
1299 (opts.name && strcmp(opts.name, root->name))) { 1304 (opts.name && strcmp(opts.name, root->name))) {