]> git.baikalelectronics.ru Git - kernel.git/commit
selinux: wrap cgroup seclabel support with its own policy capability
authorStephen Smalley <sds@tycho.nsa.gov>
Tue, 28 Feb 2017 15:35:56 +0000 (10:35 -0500)
committerJames Morris <james.l.morris@oracle.com>
Wed, 1 Mar 2017 23:27:40 +0000 (10:27 +1100)
commit384adb2be28d902d58abd850f8044beac7f9c0d3
tree73c955a7c52dbcbe7320ddb1fc823be6671d0a84
parentbe105015c41242a1d39bbfe7966e567867ed8fb3
selinux: wrap cgroup seclabel support with its own policy capability

commit 80769c5ee5db9d0152eaa38ec85b614d8849f0dd ("selinux: allow
changing labels for cgroupfs") broke the Android init program,
which looks up security contexts whenever creating directories
and attempts to assign them via setfscreatecon().
When creating subdirectories in cgroup mounts, this would previously
be ignored since cgroup did not support userspace setting of security
contexts.  However, after the commit, SELinux would attempt to honor
the requested context on cgroup directories and fail due to permission
denial.  Avoid breaking existing userspace/policy by wrapping this change
with a conditional on a new cgroup_seclabel policy capability.  This
preserves existing behavior until/unless a new policy explicitly enables
this capability.

Reported-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
security/selinux/hooks.c
security/selinux/include/security.h
security/selinux/selinuxfs.c
security/selinux/ss/services.c