commit: a98daba3644f9e84e81c784fa1b8773dbbba9681
Author: Dominick Grift <dac.override <AT> gmail <DOT> com>
AuthorDate: Tue Mar 31 16:17:46 2015 +0000
Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Mon Apr 13 20:01:45 2015 +0000
URL:
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=a98daba3
Cachefilesd module updates
The module was incomplete because I was not confident about various rules
implemented in the Fedora policy.
The files_create_all_files_as_is(cachefilesd_t) interface call was a bad idea.
Instead it just needs to
maintain files in the cache with the cachefiles_cache_t type.
The process associated with cachefiles_kernel_t is a kernel thread (kworker)
policy/modules/contrib/cachefilesd.te | 30 +++++++++++++++++++++++++++---
1 file changed, 27 insertions(+), 3 deletions(-)
diff --git a/policy/modules/contrib/cachefilesd.te
b/policy/modules/contrib/cachefilesd.te
index a3760bc..1d78e00 100644
--- a/policy/modules/contrib/cachefilesd.te
+++ b/policy/modules/contrib/cachefilesd.te
@@ -1,4 +1,4 @@
-policy_module(cachefilesd, 1.1.0)
+policy_module(cachefilesd, 1.1.1)
########################################
#
@@ -18,22 +18,28 @@ files_type(cachefilesd_cache_t)
type cachefilesd_var_run_t;
files_pid_file(cachefilesd_var_run_t)
+type cachefiles_kernel_t;
+domain_type(cachefiles_kernel_t)
+role system_r types cachefiles_kernel_t;
+
########################################
#
-# Local policy
+# Cachefilesd local policy
#
allow cachefilesd_t self:capability { setuid setgid sys_admin dac_override };
+allow cachefilesd_t cachefiles_kernel_t:kernel_service use_as_override;
+
manage_files_pattern(cachefilesd_t, cachefilesd_var_run_t,
cachefilesd_var_run_t)
files_pid_filetrans(cachefilesd_t, cachefilesd_var_run_t, file)
+allow cachefilesd_t cachefiles_cache_t:kernel_service create_files_as;
manage_dirs_pattern(cachefilesd_t, cachefilesd_cache_t, cachefilesd_cache_t)
manage_files_pattern(cachefilesd_t, cachefilesd_cache_t, cachefilesd_cache_t)
dev_rw_cachefiles(cachefilesd_t)
-files_create_all_files_as(cachefilesd_t)
files_read_etc_files(cachefilesd_t)
fs_getattr_xattr_fs(cachefilesd_t)
@@ -50,3 +56,21 @@ init_dontaudit_use_script_ptys(cachefilesd_t)
optional_policy(`
rpm_use_script_fds(cachefilesd_t)
')
+
+########################################
+#
+# Cachefiles_kernel local policy
+#
+
+allow cachefiles_kernel_t self:capability { dac_override dac_read_search };
+
+manage_dirs_pattern(cachefiles_kernel_t, cachefiles_cache_t,
cachefiles_cache_t)
+manage_files_pattern(cachefiles_kernel_t, cachefiles_cache_t,
cachefiles_cache_t)
+
+dev_search_sysfs(cachefiles_kernel_t)
+
+domain_obj_id_change_exemption(cachefiles_kernel_t)
+
+fs_getattr_xattr_fs(cachefiles_kernel_t)
+
+init_sigchld_script(cachefiles_kernel_t)