Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 140cab83 authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by John Stultz
Browse files

CHROMIUM: cgroups: relax permissions on moving tasks between cgroups



Android expects system_server to be able to move tasks between different
cgroups/cpusets, but does not want to be running as root. Let's relax
permission check so that processes can move other tasks if they have
CAP_SYS_NICE in the affected task's user namespace.

BUG=b:31790445,chromium:647994
TEST=Boot android container, examine logcat

Change-Id: Ia919c66ab6ed6a6daf7c4cf67feb38b13b1ad09b
Signed-off-by: default avatarDmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/394927


Reviewed-by: default avatarRicky Zhou <rickyz@chromium.org>
parent e78f134a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2677,7 +2677,8 @@ static int cgroup_procs_write_permission(struct task_struct *task,
	 */
	if (!uid_eq(cred->euid, GLOBAL_ROOT_UID) &&
	    !uid_eq(cred->euid, tcred->uid) &&
	    !uid_eq(cred->euid, tcred->suid))
	    !uid_eq(cred->euid, tcred->suid) &&
	    !ns_capable(tcred->user_ns, CAP_SYS_NICE))
		ret = -EACCES;

	if (!ret && cgroup_on_dfl(dst_cgrp)) {