From 9e8b8d9fdfcdb6b3e8af3349df186c2ab81a9733 Mon Sep 17 00:00:00 2001 From: Nick Kralevich <nnk@google.com> Date: Fri, 6 Dec 2013 16:52:30 +0000 Subject: [PATCH] Revert "Allow kernel domain, not init domain, to set SELinux enforcing mode." The build is broken. Reverting temporarily to fix breakage. libsepol.check_assertion_helper: neverallow on line 4758 violated by allow init kernel:security { setenforce }; Error while expanding policy make: *** [out/target/product/mako/obj/ETC/sepolicy_intermediates/sepolicy] Error 1 make: *** Waiting for unfinished jobs.... This reverts commit bf12e2251422cc8470de21dd882872b7b6f960f6. Change-Id: I78a05756d8ce3c7d06e1d9d27e6135f4b352bb85 --- domain.te | 13 ++----------- init.te | 1 - kernel.te | 3 --- 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/domain.te b/domain.te index 2b7c0a676..4297badcb 100644 --- a/domain.te +++ b/domain.te @@ -130,17 +130,8 @@ neverallow { domain -relabeltodomain } *:dir_file_class_set relabelto; ### neverallow rules ### -# Only init should be able to load SELinux policies. -# The first load technically occurs while still in the kernel domain, -# but this does not trigger a denial since there is no policy yet. -# Policy reload requires allowing this to the init domain. -neverallow { domain -init } kernel:security load_policy; - -# Only init prior to switching context should be able to set enforcing mode. -# init starts in kernel domain and switches to init domain via setcon in -# the init.rc, so the setenforce occurs while still in kernel. After -# switching domains, there is never any need to setenforce again by init. -neverallow { domain -kernel } kernel:security setenforce; +# Only init should be able to load SELinux policies and set enforcing mode. +neverallow { domain -init } kernel:security { load_policy setenforce }; # Only init, ueventd and system_server should be able to access HW RNG neverallow { domain -init -system_server -ueventd -unconfineddomain } hw_random_device:chr_file *; diff --git a/init.te b/init.te index 1c76e72cd..b2d99fbce 100644 --- a/init.te +++ b/init.te @@ -11,4 +11,3 @@ allow init {fs_type dev_type file_type}:dir_file_class_set relabelto; allow init kernel:security { load_policy setenforce }; allow init usermodehelper:file rw_file_perms; allow init proc_security:file rw_file_perms; -allow init kernel:security load_policy; diff --git a/kernel.te b/kernel.te index 089786bff..d1c1b7f82 100644 --- a/kernel.te +++ b/kernel.te @@ -6,6 +6,3 @@ relabelto_domain(kernel) allow kernel {fs_type dev_type file_type}:dir_file_class_set relabelto; allow kernel unlabeled:filesystem mount; - -# Initial setenforce by init prior to switching to init domain. -allow kernel self:security setenforce; -- GitLab