I've attached the patches.  These all come from the package currently in 
Testing.

-- 
My Main Blog         http://etbe.coker.com.au/
My Documents Blog    http://doc.coker.com.au/
Index: refpolicy-2.20161023.1/policy/modules/system/init.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/system/init.te
+++ refpolicy-2.20161023.1/policy/modules/system/init.te
@@ -292,6 +292,7 @@ ifdef(`init_systemd',`
 	fs_manage_hugetlbfs_dirs(init_t)
 	fs_getattr_tmpfs(init_t)
 	fs_read_tmpfs_files(init_t)
+	fs_read_tmpfs_symlinks(init_t)
 	fs_read_cgroup_files(init_t)
 	fs_dontaudit_getattr_xattr_fs(init_t)
 	# for privatetmp functions
Index: refpolicy-2.20161023.1/policy/modules/contrib/entropyd.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/contrib/entropyd.te
+++ refpolicy-2.20161023.1/policy/modules/contrib/entropyd.te
@@ -50,6 +50,7 @@ files_read_usr_files(entropyd_t)
 
 fs_getattr_all_fs(entropyd_t)
 fs_search_auto_mountpoints(entropyd_t)
+fs_search_tmpfs(entropyd_t)
 
 domain_use_interactive_fds(entropyd_t)
 
@@ -65,6 +66,10 @@ tunable_policy(`entropyd_use_audio',`
 	dev_write_sound(entropyd_t)
 ')
 
+ifdef(`init_systemd',`
+	init_bounded(entropyd_t, entropyd_exec_t)
+')
+
 optional_policy(`
 	tunable_policy(`entropyd_use_audio',`
 		alsa_read_lib(entropyd_t)
Index: refpolicy-2.20161023.1/policy/modules/contrib/tor.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/contrib/tor.te
+++ refpolicy-2.20161023.1/policy/modules/contrib/tor.te
@@ -115,6 +115,10 @@ tunable_policy(`tor_bind_all_unreserved_
 	corenet_tcp_bind_all_unreserved_ports(tor_t)
 ')
 
+ifdef(`init_systemd',`
+	init_bounded(tor_t, tor_exec_t)
+')
+
 optional_policy(`
 	seutil_sigchld_newrole(tor_t)
 ')
Index: refpolicy-2.20161023.1/policy/modules/system/init.if
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/system/init.if
+++ refpolicy-2.20161023.1/policy/modules/system/init.if
@@ -365,6 +365,31 @@ interface(`init_ranged_daemon_domain',`
 	')
 ')
 
+########################################
+## <summary>
+##     Make a domain be bounded by init_t
+##     NB init_t needs to have all the permissions of the domain in question
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Bounded domain
+##     </summary>
+## </param>
+## <param name="entry_point">
+##	<summary>
+##	Type of the program to be used as an entry point to this domain.
+##	</summary>
+## </param>
+#
+interface(`init_bounded',`
+	gen_require(`
+		type init_t;
+	')
+
+	typebounds init_t $1;
+	allow init_t $2:file entrypoint;
+')
+
 #########################################
 ## <summary>
 ##	Abstract socket service activation (systemd).
Index: refpolicy-2.20161023.1/policy/modules/contrib/mysql.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/contrib/mysql.te
+++ refpolicy-2.20161023.1/policy/modules/contrib/mysql.te
@@ -125,6 +125,7 @@ domain_use_interactive_fds(mysqld_t)
 
 fs_getattr_all_fs(mysqld_t)
 fs_search_auto_mountpoints(mysqld_t)
+fs_search_tmpfs(mysqld_t)
 fs_rw_hugetlbfs_files(mysqld_t)
 
 files_read_etc_runtime_files(mysqld_t)
@@ -149,6 +150,10 @@ optional_policy(`
 	daemontools_service_domain(mysqld_t, mysqld_exec_t)
 ')
 
+ifdef(`init_systemd',`
+	init_bounded(mysqld_t, mysqld_exec_t)
+')
+
 optional_policy(`
 	seutil_sigchld_newrole(mysqld_t)
 ')
Index: refpolicy-2.20161023.1/policy/modules/system/systemd.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/system/systemd.te
+++ refpolicy-2.20161023.1/policy/modules/system/systemd.te
@@ -742,6 +742,10 @@ files_relabelto_etc_dirs(systemd_tmpfile
 files_relabel_all_lock_dirs(systemd_tmpfiles_t)
 files_relabel_all_pid_dirs(systemd_tmpfiles_t)
 files_relabel_all_tmp_dirs(systemd_tmpfiles_t)
+
+# for /var/lib/sudo
+auth_delete_pam_pid(systemd_tmpfiles_t)
+
 # for /etc/mtab
 files_manage_etc_symlinks(systemd_tmpfiles_t)
 
Index: refpolicy-2.20161023.1/policy/modules/contrib/dnsmasq.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/contrib/dnsmasq.te
+++ refpolicy-2.20161023.1/policy/modules/contrib/dnsmasq.te
@@ -40,7 +40,8 @@ allow dnsmasq_t self:tcp_socket { accept
 allow dnsmasq_t self:packet_socket create_socket_perms;
 allow dnsmasq_t self:rawip_socket create_socket_perms;
 
-read_files_pattern(dnsmasq_t, dnsmasq_etc_t, dnsmasq_etc_t)
+allow dnsmasq_t dnsmasq_etc_t:dir list_dir_perms;
+allow dnsmasq_t dnsmasq_etc_t:file read_file_perms;
 
 manage_files_pattern(dnsmasq_t, dnsmasq_lease_t, dnsmasq_lease_t)
 files_var_lib_filetrans(dnsmasq_t, dnsmasq_lease_t, file)
Index: refpolicy-2.20161023.1/policy/modules/contrib/brctl.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/contrib/brctl.te
+++ refpolicy-2.20161023.1/policy/modules/contrib/brctl.te
@@ -29,6 +29,7 @@ kernel_read_sysctl(brctl_t)
 
 corenet_rw_tun_tap_dev(brctl_t)
 
+dev_create_sysfs_files(brctl_t)
 dev_rw_sysfs(brctl_t)
 dev_write_sysfs_dirs(brctl_t)
 
Index: refpolicy-2.20161023.1/policy/modules/kernel/devices.if
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/kernel/devices.if
+++ refpolicy-2.20161023.1/policy/modules/kernel/devices.if
@@ -4097,6 +4097,24 @@ interface(`dev_dontaudit_getattr_sysfs',
 
 ########################################
 ## <summary>
+##     Add a sysfs file
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain allowed access.
+##     </summary>
+## </param>
+#
+interface(`dev_create_sysfs_files',`
+	gen_require(`
+		type sysfs_t;
+	')
+
+	create_files_pattern($1, sysfs_t, sysfs_t)
+')
+
+########################################
+## <summary>
 ##	Search the sysfs directories.
 ## </summary>
 ## <param name="domain">
Index: refpolicy-2.20161023.1/policy/modules/kernel/corecommands.fc
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/kernel/corecommands.fc
+++ refpolicy-2.20161023.1/policy/modules/kernel/corecommands.fc
@@ -129,6 +129,7 @@ ifdef(`distro_debian',`
 # /lib
 #
 
+/usr/lib/bridge-utils/.*\.sh	--	gen_context(system_u:object_r:bin_t,s0)
 /usr/lib/nut/.*			--	gen_context(system_u:object_r:bin_t,s0)
 /usr/lib/readahead(/.*)?			gen_context(system_u:object_r:bin_t,s0)
 /usr/lib/security/pam_krb5/pam_krb5_storetmp -- gen_context(system_u:object_r:bin_t,s0)
Index: refpolicy-2.20161023.1/policy/modules/admin/bootloader.fc
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/admin/bootloader.fc
+++ refpolicy-2.20161023.1/policy/modules/admin/bootloader.fc
@@ -10,3 +10,4 @@
 /usr/sbin/grub2?-install	--	gen_context(system_u:object_r:bootloader_exec_t,s0)
 /usr/sbin/grub2?-mkconfig	--	gen_context(system_u:object_r:bootloader_exec_t,s0)
 /usr/sbin/grub2?-probe	--	gen_context(system_u:object_r:bootloader_exec_t,s0)
+/var/lib/os-prober(/.*)?	gen_context(system_u:object_r:bootloader_tmp_t,s0)
Index: refpolicy-2.20161023.1/policy/modules/admin/bootloader.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/admin/bootloader.te
+++ refpolicy-2.20161023.1/policy/modules/admin/bootloader.te
@@ -68,6 +68,9 @@ kernel_read_kernel_sysctls(bootloader_t)
 # for grub-probe
 kernel_request_load_module(bootloader_t)
 
+# for grub-mount
+kernel_search_debugfs(bootloader_t)
+
 storage_raw_read_fixed_disk(bootloader_t)
 storage_raw_write_fixed_disk(bootloader_t)
 storage_raw_read_removable_device(bootloader_t)
@@ -85,6 +88,7 @@ dev_rw_nvram(bootloader_t)
 fs_getattr_xattr_fs(bootloader_t)
 fs_getattr_tmpfs(bootloader_t)
 fs_read_tmpfs_symlinks(bootloader_t)
+fs_unmount_xattr_fs(bootloader_t)
 #Needed for ia64
 fs_manage_dos_files(bootloader_t)
 
@@ -138,6 +142,7 @@ userdom_dontaudit_search_user_home_dirs(
 
 ifdef(`distro_debian',`
 	allow bootloader_t bootloader_tmp_t:{ dir file } { relabelfrom relabelto };
+	allow bootloader_t bootloader_tmp_t:dir mounton;
 	fs_list_tmpfs(bootloader_t)
 
 	files_relabel_kernel_modules(bootloader_t)
@@ -148,15 +153,30 @@ ifdef(`distro_debian',`
 	# for /usr/share/initrd-tools/scripts
 	files_exec_usr_files(bootloader_t)
 
+	files_search_mnt(bootloader_t)
+	fs_mount_fusefs(bootloader_t)
+	fs_mounton_fusefs(bootloader_t)
+	fs_read_fusefs_symlinks(bootloader_t)
+	fs_read_fusefs_files(bootloader_t)
+	fs_stat_fusefs(bootloader_t)
+	fs_unmount_fusefs(bootloader_t)
+
 	fstools_manage_entry_files(bootloader_t)
 	fstools_relabelto_entry_files(bootloader_t)
+	fstools_manage_runfile(bootloader_t)
 
 	libs_relabelto_lib_files(bootloader_t)
 
+	mount_rw_runfiles(bootloader_t)
+
 	# for apt-cache
 	dpkg_read_db(bootloader_t)
+	dpkg_rw_pipes(bootloader_t)
 	apt_read_db(bootloader_t)
 	apt_read_cache(bootloader_t)
+
+	storage_rw_fuse(bootloader_t)
+	udev_read_pid_files(bootloader_t)
 ')
 
 ifdef(`distro_redhat',`
@@ -214,5 +234,9 @@ optional_policy(`
 ')
 
 optional_policy(`
+	raid_manage_mdadm_pid(bootloader_t)
+')
+
+optional_policy(`
 	rpm_rw_pipes(bootloader_t)
 ')
Index: refpolicy-2.20161023.1/policy/modules/admin/bootloader.if
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/admin/bootloader.if
+++ refpolicy-2.20161023.1/policy/modules/admin/bootloader.if
@@ -141,3 +141,21 @@ interface(`bootloader_create_runtime_fil
 	allow $1 boot_runtime_t:file { create_file_perms rw_file_perms };
 	files_boot_filetrans($1, boot_runtime_t, file)
 ')
+
+########################################
+## <summary>
+##	allow bootloader to send sigchld to domain
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`bootloader_send_sigchld',`
+	gen_require(`
+		type bootloader_t;
+	')
+
+	allow bootloader_t $1:process sigchld;
+')
Index: refpolicy-2.20161023.1/policy/modules/contrib/dpkg.te
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/contrib/dpkg.te
+++ refpolicy-2.20161023.1/policy/modules/contrib/dpkg.te
@@ -337,6 +337,7 @@ optional_policy(`
 
 optional_policy(`
 	bootloader_run(dpkg_script_t, dpkg_roles)
+	bootloader_send_sigchld(dpkg_t)
 ')
 
 optional_policy(`
Index: refpolicy-2.20161023.1/policy/modules/kernel/filesystem.if
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/kernel/filesystem.if
+++ refpolicy-2.20161023.1/policy/modules/kernel/filesystem.if
@@ -1988,6 +1988,24 @@ interface(`fs_read_eventpollfs',`
 
 ########################################
 ## <summary>
+##     stat a FUSE filesystem
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain allowed access.
+##     </summary>
+## </param>
+#
+interface(`fs_stat_fusefs',`
+	gen_require(`
+		type fusefs_t;
+	')
+
+	allow $1 fusefs_t:filesystem getattr;
+')
+
+########################################
+## <summary>
 ##	Mount a FUSE filesystem.
 ## </summary>
 ## <param name="domain">
Index: refpolicy-2.20161023.1/policy/modules/contrib/raid.if
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/contrib/raid.if
+++ refpolicy-2.20161023.1/policy/modules/contrib/raid.if
@@ -63,6 +63,7 @@ interface(`raid_manage_mdadm_pid',`
 	')
 
 	files_search_pids($1)
+	allow $1 mdadm_var_run_t:dir search;
 	allow $1 mdadm_var_run_t:file manage_file_perms;
 ')
 
Index: refpolicy-2.20161023.1/policy/modules/system/fstools.if
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/system/fstools.if
+++ refpolicy-2.20161023.1/policy/modules/system/fstools.if
@@ -190,3 +190,22 @@ interface(`fstools_write_log',`
 
 	allow $1 fsadm_log_t:file write_file_perms;
 ')
+
+########################################
+## <summary>
+##	rw fsadm_run_t
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`fstools_manage_runfile',`
+	gen_require(`
+		type fsadm_run_t;
+	')
+
+	allow $1 fsadm_run_t:dir rw_dir_perms;
+	allow $1 fsadm_run_t:file manage_file_perms;
+')
Index: refpolicy-2.20161023.1/policy/modules/system/mount.if
===================================================================
--- refpolicy-2.20161023.1.orig/policy/modules/system/mount.if
+++ refpolicy-2.20161023.1/policy/modules/system/mount.if
@@ -227,3 +227,22 @@ interface(`stat_mount_var_run',`
 
 	allow $1 mount_var_run_t:file getattr;
 ')
+
+########################################
+## <summary>
+##	rw mount_var_run_t files
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`mount_rw_runfiles',`
+	gen_require(`
+		type mount_var_run_t;
+	')
+
+	allow $1 mount_var_run_t:dir search;
+	allow $1 mount_var_run_t:file rw_file_perms;
+')

Reply via email to