[PATCH 1/1] device_cgroup: remove can_attach

Tim Gardner tim.gardner at canonical.com
Fri Oct 25 16:53:53 UTC 2013


On 10/24/2013 12:17 PM, Serge Hallyn wrote:
> [ Hi - the following patch has been applied to Tejun's
> cgroup/for-3.13 branch.  It's needed for non-root users to be
> able to create containers ]
>
> It is really only wanting to duplicate a check which is already done by the
> cgroup subsystem.
>
> With this patch, user jdoe still cannot move pid 1 into a devices cgroup
> he owns, but now he can move his own other tasks into devices cgroups.
>
> Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
> Signed-off-by: Tejun Heo <tj at kernel.org>
> Cc: Aristeu Rozanski <aris at redhat.com>
> ---
>   security/device_cgroup.c |   11 -----------
>   1 file changed, 11 deletions(-)
>
> diff --git a/security/device_cgroup.c b/security/device_cgroup.c
> index c123628..7c2a0a7 100644
> --- a/security/device_cgroup.c
> +++ b/security/device_cgroup.c
> @@ -63,16 +63,6 @@ static inline struct dev_cgroup *task_devcgroup(struct task_struct *task)
>
>   struct cgroup_subsys devices_subsys;
>
> -static int devcgroup_can_attach(struct cgroup_subsys_state *new_css,
> -				struct cgroup_taskset *set)
> -{
> -	struct task_struct *task = cgroup_taskset_first(set);
> -
> -	if (current != task && !capable(CAP_SYS_ADMIN))
> -		return -EPERM;
> -	return 0;
> -}
> -
>   /*
>    * called under devcgroup_mutex
>    */
> @@ -697,7 +687,6 @@ static struct cftype dev_cgroup_files[] = {
>
>   struct cgroup_subsys devices_subsys = {
>   	.name = "devices",
> -	.can_attach = devcgroup_can_attach,
>   	.css_alloc = devcgroup_css_alloc,
>   	.css_free = devcgroup_css_free,
>   	.css_online = devcgroup_online,
>

This is kind of a fundamental change. Can you write a test case ?

rtg
-- 
Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list