Re: [PATCH 4.4 048/118] cpuset: make sure new tasks conform to the current config of the cpuset

From: Takashi Iwai
Date: Mon Sep 26 2016 - 08:34:43 EST


On Thu, 22 Sep 2016 19:29:08 +0200,
Greg Kroah-Hartman wrote:
>
> 4.4-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Zefan Li <lizefan@xxxxxxxxxx>
>
> commit 06f4e94898918bcad00cdd4d349313a439d6911e upstream.
>
> A new task inherits cpus_allowed and mems_allowed masks from its parent,
> but if someone changes cpuset's config by writing to cpuset.cpus/cpuset.mems
> before this new task is inserted into the cgroup's task list, the new task
> won't be updated accordingly.
>
> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> ---
> kernel/cpuset.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> --- a/kernel/cpuset.c
> +++ b/kernel/cpuset.c
> @@ -2074,6 +2074,20 @@ static void cpuset_bind(struct cgroup_su
> mutex_unlock(&cpuset_mutex);
> }
>
> +/*
> + * Make sure the new task conform to the current state of its parent,
> + * which could have been changed by cpuset just after it inherits the
> + * state from the parent and before it sits on the cgroup's task list.
> + */
> +void cpuset_fork(struct task_struct *task)

This causes a build warning:

kernel/cpuset.c:2101:2: warning: (near initialization for 'cpuset_cgrp_subsys.fork') [enabled by default]
.fork = cpuset_fork,
^

where fork op in 4.4 kernel has still priv argument that was dropped
recently.


Takashi