ACK/Cmnt: [SRU][F][PATCH 1/1] cgroup-v1: add disabled controller check in cgroup1_parse_param()

Tim Gardner tim.gardner at canonical.com
Fri Sep 16 17:03:46 UTC 2022


On 9/8/22 15:18, Luke Nowakowski-Krijger wrote:
> From: Chen Zhou <chenzhou10 at huawei.com>
> 
> BugLink:  https://bugs.launchpad.net/bugs/1988584
> 
> When mounting a cgroup hierarchy with disabled controller in cgroup v1,
> all available controllers will be attached.
> For example, boot with cgroup_no_v1=cpu or cgroup_disable=cpu, and then
> mount with "mount -t cgroup -ocpu cpu /sys/fs/cgroup/cpu", then all
> enabled controllers will be attached except cpu.
> 
> Fix this by adding disabled controller check in cgroup1_parse_param().
> If the specified controller is disabled, just return error with information
> "Disabled controller xx" rather than attaching all the other enabled
> controllers.
> 
> Fixes: f5dfb5315d34 ("cgroup: take options parsing into ->parse_monolithic()")
> Signed-off-by: Chen Zhou <chenzhou10 at huawei.com>
> Reviewed-by: Zefan Li <lizefan.x at bytedance.com>
> Reviewed-by: Michal Koutný <mkoutny at suse.com>
> Signed-off-by: Tejun Heo <tj at kernel.org>
> (backported from commit 657d8bd31e65a5ba41e2c8fdcdfe68497993df26)

The SHA1 should be 61e960b07b637f0295308ad91268501d744c21b5

> [lukenow: replace invalfc with invalf]
> Signed-off-by: Luke Nowakowski-Krijger <luke.nowakowskikrijger at canonical.com>
> ---
>   kernel/cgroup/cgroup-v1.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c
> index 117d70098cd49..d8eed51471471 100644
> --- a/kernel/cgroup/cgroup-v1.c
> +++ b/kernel/cgroup/cgroup-v1.c
> @@ -940,6 +940,9 @@ int cgroup1_parse_param(struct fs_context *fc, struct fs_parameter *param)
>   		for_each_subsys(ss, i) {
>   			if (strcmp(param->key, ss->legacy_name))
>   				continue;
> +			if (!cgroup_ssid_enabled(i) || cgroup1_ssid_disabled(i))
> +				return invalf(fc, "Disabled controller '%s'",
> +					       param->key);
>   			ctx->subsys_mask |= (1 << i);
>   			return 0;
>   		}

Acked-by: Tim Gardner <tim.gardner at canonical.com>
-- 
-----------
Tim Gardner
Canonical, Inc



More information about the kernel-team mailing list