diff options
author | Tejun Heo <tj@kernel.org> | 2012-04-01 21:09:54 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2012-04-01 21:09:54 +0200 |
commit | 8b5a5a9dbca914d1f7d70276024d1525a3c94081 (patch) | |
tree | 15667c2e0da1331d0253dcc2598bc64983fa539d | |
parent | Linux 3.4-rc1 (diff) | |
download | linux-8b5a5a9dbca914d1f7d70276024d1525a3c94081.tar.xz linux-8b5a5a9dbca914d1f7d70276024d1525a3c94081.zip |
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.txt | 9 | ||||
-rw-r--r-- | kernel/cgroup.c | 5 |
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, of ASLR. It was only ever intended for debugging, so it should be removed. Who: Kees Cook <keescook@chromium.org> + +---------------------------- + +What: cgroup option updates via remount +When: March 2013 +Why: Remount currently allows changing bound subsystems and + release_agent. Rebinding is hardly useful as it only works + when the hierarchy is empty and release_agent itself should be + 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) if (ret) goto out_unlock; + /* See feature-removal-schedule.txt */ + if (opts.subsys_bits != root->actual_subsys_bits || opts.release_agent) + pr_warning("cgroup: option changes via remount are deprecated (pid=%d comm=%s)\n", + task_tgid_nr(current), current->comm); + /* Don't allow flags or name to change at remount */ if (opts.flags != root->flags || (opts.name && strcmp(opts.name, root->name))) { |