diff --git a/.gitignore b/.gitignore index 6574aaf..8632839 100644 --- a/.gitignore +++ b/.gitignore @@ -222,3 +222,4 @@ serefpolicy-3.8.8.tgz serefpolicy* /serefpolicy-3.9.0.tgz /serefpolicy-3.9.1.tgz +/serefpolicy-3.9.2.tgz diff --git a/policy-F14.patch b/policy-F14.patch index a02a159..c5cf0dc 100644 --- a/policy-F14.patch +++ b/policy-F14.patch @@ -149,7 +149,7 @@ index 0000000..e9c43b1 +.SH "SEE ALSO" +selinux(8), git(8), chcon(1), semodule(8), setsebool(8) diff --git a/policy/global_tunables b/policy/global_tunables -index 3316f6e..cf3a77b 100644 +index 3316f6e..56af226 100644 --- a/policy/global_tunables +++ b/policy/global_tunables @@ -61,15 +61,6 @@ gen_tunable(global_ssp,false) @@ -168,7 +168,7 @@ index 3316f6e..cf3a77b 100644 ## Allow any files/directories to be exported read/write via NFS. ##

## -@@ -104,3 +95,18 @@ gen_tunable(use_samba_home_dirs,false) +@@ -104,3 +95,11 @@ gen_tunable(use_samba_home_dirs,false) ##

## gen_tunable(user_tcp_server,false) @@ -180,13 +180,6 @@ index 3316f6e..cf3a77b 100644 +## +gen_tunable(allow_console_login,false) + -+## -+##

-+## Allow certain domains to map low memory in the kernel -+##

-+##
-+gen_tunable(mmap_low_allowed, false) -+ diff --git a/policy/mcs b/policy/mcs index af90ef2..fbd2c40 100644 --- a/policy/mcs @@ -1782,22 +1775,6 @@ index c35d801..3045a19 100644 mta_manage_spool(useradd_t) -diff --git a/policy/modules/admin/vbetool.te b/policy/modules/admin/vbetool.te -index edfa54e..8215138 100644 ---- a/policy/modules/admin/vbetool.te -+++ b/policy/modules/admin/vbetool.te -@@ -24,7 +24,10 @@ dev_rw_sysfs(vbetool_t) - dev_rw_xserver_misc(vbetool_t) - dev_rw_mtrr(vbetool_t) - --domain_mmap_low(vbetool_t) -+domain_mmap_low_type(vbetool_t) -+tunable_policy(`mmap_low_allowed',` -+ allow vbetool_t self:memprotect mmap_zero; -+') - - mls_file_read_all_levels(vbetool_t) - mls_file_write_all_levels(vbetool_t) diff --git a/policy/modules/admin/vpn.te b/policy/modules/admin/vpn.te index a870982..6542902 100644 --- a/policy/modules/admin/vpn.te @@ -6708,7 +6685,7 @@ index 9d24449..9782698 100644 /opt/google/picasa(/.*)?/bin/notepad -- gen_context(system_u:object_r:wine_exec_t,s0) /opt/google/picasa(/.*)?/bin/progman -- gen_context(system_u:object_r:wine_exec_t,s0) diff --git a/policy/modules/apps/wine.if b/policy/modules/apps/wine.if -index c26662d..62e455a 100644 +index 0440b4c..e10101a 100644 --- a/policy/modules/apps/wine.if +++ b/policy/modules/apps/wine.if @@ -29,12 +29,16 @@ @@ -6746,26 +6723,27 @@ index c26662d..62e455a 100644 type wine_exec_t; ') -@@ -101,9 +105,16 @@ template(`wine_role_template',` +@@ -101,7 +105,7 @@ template(`wine_role_template',` corecmd_bin_domtrans($1_wine_t, $1_t) userdom_unpriv_usertype($1, $1_wine_t) - userdom_manage_user_tmpfs_files($1_wine_t) + userdom_manage_tmpfs_role($2, $1_wine_t) -- domain_mmap_low($1_wine_t) -+ domain_mmap_low_type($1_wine_t) -+ tunable_policy(`mmap_low_allowed',` -+ allow $1_wine_t self:memprotect mmap_zero; -+ ') -+ + domain_mmap_low($1_wine_t) + +@@ -109,6 +113,10 @@ template(`wine_role_template',` + dontaudit $1_wine_t self:memprotect mmap_zero; + ') + + tunable_policy(`wine_mmap_zero_ignore',` + dontaudit $1_wine_t self:memprotect mmap_zero; + ') - ++ optional_policy(` xserver_role($1_r, $1_wine_t) -@@ -153,3 +164,22 @@ interface(`wine_run',` + ') +@@ -157,3 +165,22 @@ interface(`wine_run',` wine_domtrans($1) role $2 types wine_t; ') @@ -6789,11 +6767,11 @@ index c26662d..62e455a 100644 + allow $1 wine_t:shm rw_shm_perms; +') diff --git a/policy/modules/apps/wine.te b/policy/modules/apps/wine.te -index 8af45db..6fe38a1 100644 +index f9a123a..40cbebb 100644 --- a/policy/modules/apps/wine.te +++ b/policy/modules/apps/wine.te @@ -1,5 +1,13 @@ - policy_module(wine, 1.7.1) + policy_module(wine, 1.7.2) +## +##

@@ -6806,22 +6784,17 @@ index 8af45db..6fe38a1 100644 ######################################## # # Declarations -@@ -29,7 +37,13 @@ manage_dirs_pattern(wine_t, wine_tmp_t, wine_tmp_t) - manage_files_pattern(wine_t, wine_tmp_t, wine_tmp_t) +@@ -37,6 +45,9 @@ manage_files_pattern(wine_t, wine_tmp_t, wine_tmp_t) files_tmp_filetrans(wine_t, wine_tmp_t, { file dir }) --domain_mmap_low(wine_t) -+domain_mmap_low_type(wine_t) -+tunable_policy(`mmap_low_allowed',` -+ allow wine_t self:memprotect mmap_zero; -+') + domain_mmap_low(wine_t) +tunable_policy(`wine_mmap_zero_ignore',` + dontaudit wine_t self:memprotect mmap_zero; +') files_execmod_all_files(wine_t) -@@ -40,7 +54,11 @@ optional_policy(` +@@ -51,7 +62,11 @@ optional_policy(` ') optional_policy(` @@ -7502,7 +7475,7 @@ index eb9c360..20c2d34 100644 +allow devices_unconfined_type device_node:{ blk_file chr_file lnk_file } *; allow devices_unconfined_type mtrr_device_t:file *; diff --git a/policy/modules/kernel/domain.if b/policy/modules/kernel/domain.if -index 41f36ed..3f2c4ad 100644 +index aad8c52..09d4b31 100644 --- a/policy/modules/kernel/domain.if +++ b/policy/modules/kernel/domain.if @@ -611,7 +611,7 @@ interface(`domain_read_all_domains_state',` @@ -7523,22 +7496,7 @@ index 41f36ed..3f2c4ad 100644 ## ## ##

-@@ -1372,13 +1372,11 @@ interface(`domain_entry_file_spec_domtrans',` - ## - ## - # --interface(`domain_mmap_low',` -+interface(`domain_mmap_low_type',` - gen_require(` - attribute mmap_low_domain_type; - ') - -- allow $1 self:memprotect mmap_zero; -- - typeattribute $1 mmap_low_domain_type; - ') - -@@ -1445,3 +1443,22 @@ interface(`domain_unconfined',` +@@ -1473,3 +1473,22 @@ interface(`domain_unconfined',` typeattribute $1 set_curr_context; typeattribute $1 process_uncond_exempt; ') @@ -7562,10 +7520,10 @@ index 41f36ed..3f2c4ad 100644 + dontaudit $1 domain:socket_class_set { read write }; +') diff --git a/policy/modules/kernel/domain.te b/policy/modules/kernel/domain.te -index aa02659..b9c5804 100644 +index 099f57f..ae62211 100644 --- a/policy/modules/kernel/domain.te +++ b/policy/modules/kernel/domain.te -@@ -4,6 +4,21 @@ policy_module(domain, 1.8.0) +@@ -4,6 +4,21 @@ policy_module(domain, 1.8.1) # # Declarations # @@ -7585,9 +7543,9 @@ index aa02659..b9c5804 100644 +# +gen_tunable(domain_kernel_load_modules, false) - # Mark process types as domains - attribute domain; -@@ -79,14 +94,17 @@ allow domain self:dir list_dir_perms; + ## + ##

+@@ -87,14 +102,17 @@ allow domain self:dir list_dir_perms; allow domain self:lnk_file { read_lnk_file_perms lock ioctl }; allow domain self:file rw_file_perms; kernel_read_proc_symlinks(domain) @@ -7606,7 +7564,7 @@ index aa02659..b9c5804 100644 # Use trusted objects in /dev dev_rw_null(domain) -@@ -96,6 +114,13 @@ term_use_controlling_term(domain) +@@ -104,6 +122,13 @@ term_use_controlling_term(domain) # list the root directory files_list_root(domain) @@ -7620,7 +7578,7 @@ index aa02659..b9c5804 100644 tunable_policy(`global_ssp',` # enable reading of urandom for all domains: # this should be enabled when all programs -@@ -105,8 +130,13 @@ tunable_policy(`global_ssp',` +@@ -113,8 +138,13 @@ tunable_policy(`global_ssp',` ') optional_policy(` @@ -7634,7 +7592,7 @@ index aa02659..b9c5804 100644 ') optional_policy(` -@@ -117,6 +147,8 @@ optional_policy(` +@@ -125,6 +155,8 @@ optional_policy(` optional_policy(` xserver_dontaudit_use_xdm_fds(domain) xserver_dontaudit_rw_xdm_pipes(domain) @@ -7643,7 +7601,7 @@ index aa02659..b9c5804 100644 ') ######################################## -@@ -135,6 +167,8 @@ allow unconfined_domain_type domain:{ socket_class_set socket key_socket } *; +@@ -143,6 +175,8 @@ allow unconfined_domain_type domain:{ socket_class_set socket key_socket } *; allow unconfined_domain_type domain:fd use; allow unconfined_domain_type domain:fifo_file rw_file_perms; @@ -7652,7 +7610,7 @@ index aa02659..b9c5804 100644 # Act upon any other process. allow unconfined_domain_type domain:process ~{ transition dyntransition execmem execstack execheap }; -@@ -152,3 +186,77 @@ allow unconfined_domain_type domain:key *; +@@ -160,3 +194,77 @@ allow unconfined_domain_type domain:key *; # receive from all domains over labeled networking domain_all_recvfrom_all_domains(unconfined_domain_type) @@ -8836,10 +8794,10 @@ index 56c3408..3f4cf3d 100644 # diff --git a/policy/modules/kernel/kernel.if b/policy/modules/kernel/kernel.if -index ed7667a..d676187 100644 +index ed7667a..46e9859 100644 --- a/policy/modules/kernel/kernel.if +++ b/policy/modules/kernel/kernel.if -@@ -698,6 +698,26 @@ interface(`kernel_read_debugfs',` +@@ -698,6 +698,46 @@ interface(`kernel_read_debugfs',` ######################################## ##

@@ -8863,10 +8821,30 @@ index ed7667a..d676187 100644 + +######################################## +## ++## Manage information from the debugging filesystem. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`kernel_manage_debugfs',` ++ gen_require(` ++ type debugfs_t; ++ ') ++ ++ manage_files_pattern($1, debugfs_t, debugfs_t) ++ read_lnk_files_pattern($1, debugfs_t, debugfs_t) ++ list_dirs_pattern($1, debugfs_t, debugfs_t) ++') ++ ++######################################## ++## ## Mount a kernel VM filesystem. ## ## -@@ -1977,7 +1997,7 @@ interface(`kernel_dontaudit_list_all_sysctls',` +@@ -1977,7 +2017,7 @@ interface(`kernel_dontaudit_list_all_sysctls',` ') dontaudit $1 sysctl_type:dir list_dir_perms; @@ -8875,7 +8853,7 @@ index ed7667a..d676187 100644 ') ######################################## -@@ -2845,6 +2865,24 @@ interface(`kernel_relabelfrom_unlabeled_database',` +@@ -2845,6 +2885,24 @@ interface(`kernel_relabelfrom_unlabeled_database',` ######################################## ## @@ -8900,7 +8878,7 @@ index ed7667a..d676187 100644 ## Unconfined access to kernel module resources. ## ## -@@ -2860,3 +2898,23 @@ interface(`kernel_unconfined',` +@@ -2860,3 +2918,23 @@ interface(`kernel_unconfined',` typeattribute $1 kern_unconfined; ') @@ -13904,6 +13882,18 @@ index 27fe7ca..221ea9e 100644 ####################################### ## ## read certmaster logs. +diff --git a/policy/modules/services/certmaster.te b/policy/modules/services/certmaster.te +index 1573914..6e32117 100644 +--- a/policy/modules/services/certmaster.te ++++ b/policy/modules/services/certmaster.te +@@ -60,6 +60,7 @@ corenet_tcp_bind_generic_node(certmaster_t) + corenet_tcp_bind_certmaster_port(certmaster_t) + + files_search_etc(certmaster_t) ++files_read_usr_files(certmaster_t) + files_list_var(certmaster_t) + files_search_var_lib(certmaster_t) + diff --git a/policy/modules/services/certmonger.if b/policy/modules/services/certmonger.if index a3728d4..7a6e5ba 100644 --- a/policy/modules/services/certmonger.if @@ -14866,7 +14856,7 @@ index 3a6d7eb..2098ee9 100644 /var/lib/corosync(/.*)? gen_context(system_u:object_r:corosync_var_lib_t,s0) diff --git a/policy/modules/services/corosync.te b/policy/modules/services/corosync.te -index 7d2cf85..317b025 100644 +index 7d2cf85..9d97456 100644 --- a/policy/modules/services/corosync.te +++ b/policy/modules/services/corosync.te @@ -5,6 +5,13 @@ policy_module(corosync, 1.0.0) @@ -14922,7 +14912,7 @@ index 7d2cf85..317b025 100644 auth_use_nsswitch(corosync_t) -@@ -83,19 +95,26 @@ logging_send_syslog_msg(corosync_t) +@@ -83,19 +95,30 @@ logging_send_syslog_msg(corosync_t) miscfiles_read_localization(corosync_t) @@ -14940,11 +14930,14 @@ index 7d2cf85..317b025 100644 optional_policy(` - # to communication with RHCS - rhcs_rw_dlm_controld_semaphores(corosync_t) -- -- rhcs_rw_fenced_semaphores(corosync_t) + cmirrord_rw_shm(corosync_t) +') +- rhcs_rw_fenced_semaphores(corosync_t) ++optional_policy(` ++ lvm_rw_clvmd_tmpfs_files(corosync_t) ++') + - rhcs_rw_gfs_controld_semaphores(corosync_t) +optional_policy(` + # to communication with RHCS @@ -15735,7 +15728,7 @@ index 2a0f1c1..ab82c3c 100644 snmp_dontaudit_write_snmp_var_lib_files(cyrus_t) snmp_stream_connect(cyrus_t) diff --git a/policy/modules/services/dbus.if b/policy/modules/services/dbus.if -index 39e901a..a93e5ca 100644 +index 39e901a..4ab36ba 100644 --- a/policy/modules/services/dbus.if +++ b/policy/modules/services/dbus.if @@ -42,8 +42,10 @@ template(`dbus_role_template',` @@ -15802,7 +15795,12 @@ index 39e901a..a93e5ca 100644 read_files_pattern($1, system_dbusd_var_lib_t, system_dbusd_var_lib_t) files_search_var_lib($1) -@@ -434,10 +445,21 @@ interface(`dbus_system_domain',` +@@ -431,13 +442,26 @@ interface(`dbus_system_domain',` + + domtrans_pattern(system_dbusd_t, $2, $1) + ++ fs_search_cgroup_dirs($1) ++ dbus_system_bus_client($1) dbus_connect_system_bus($1) @@ -23512,7 +23510,7 @@ index 2785337..c3c2775 100644 /usr/kerberos/sbin/klogind -- gen_context(system_u:object_r:rlogind_exec_t,s0) diff --git a/policy/modules/services/rlogin.te b/policy/modules/services/rlogin.te -index 779fa44..a142c36 100644 +index 779fa44..29a5d0d 100644 --- a/policy/modules/services/rlogin.te +++ b/policy/modules/services/rlogin.te @@ -43,7 +43,6 @@ can_exec(rlogind_t, rlogind_exec_t) @@ -23523,7 +23521,15 @@ index 779fa44..a142c36 100644 manage_files_pattern(rlogind_t, rlogind_var_run_t, rlogind_var_run_t) files_pid_filetrans(rlogind_t, rlogind_var_run_t, file) -@@ -88,6 +87,9 @@ seutil_read_config(rlogind_t) +@@ -71,6 +70,7 @@ fs_search_auto_mountpoints(rlogind_t) + auth_domtrans_chk_passwd(rlogind_t) + auth_rw_login_records(rlogind_t) + auth_use_nsswitch(rlogind_t) ++auth_login_pgm_domain(rlogind_t) + + files_read_etc_files(rlogind_t) + files_read_etc_runtime_files(rlogind_t) +@@ -88,6 +88,9 @@ seutil_read_config(rlogind_t) userdom_setattr_user_ptys(rlogind_t) # cjp: this is egregious userdom_read_user_home_content_files(rlogind_t) @@ -27477,7 +27483,7 @@ index da2601a..a5b3186 100644 + manage_files_pattern($1, user_fonts_config_t, user_fonts_config_t) +') diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te -index 8084740..4b4ddc3 100644 +index e226da4..50b4a08 100644 --- a/policy/modules/services/xserver.te +++ b/policy/modules/services/xserver.te @@ -35,6 +35,13 @@ gen_tunable(allow_write_xshm, false) @@ -28170,7 +28176,7 @@ index 8084740..4b4ddc3 100644 xfs_stream_connect(xdm_t) ') -@@ -596,10 +864,9 @@ allow xserver_t input_xevent_t:x_event send; +@@ -596,7 +864,7 @@ allow xserver_t input_xevent_t:x_event send; # execheap needed until the X module loader is fixed. # NVIDIA Needs execstack @@ -28178,11 +28184,8 @@ index 8084740..4b4ddc3 100644 +allow xserver_t self:capability { dac_override fowner fsetid setgid setuid ipc_owner sys_ptrace sys_rawio sys_admin sys_nice sys_tty_config mknod net_bind_service }; dontaudit xserver_t self:capability chown; allow xserver_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap }; --allow xserver_t self:memprotect mmap_zero; allow xserver_t self:fd use; - allow xserver_t self:fifo_file rw_fifo_file_perms; - allow xserver_t self:sock_file read_sock_file_perms; -@@ -611,6 +878,18 @@ allow xserver_t self:unix_dgram_socket { create_socket_perms sendto }; +@@ -610,6 +878,18 @@ allow xserver_t self:unix_dgram_socket { create_socket_perms sendto }; allow xserver_t self:unix_stream_socket { create_stream_socket_perms connectto }; allow xserver_t self:tcp_socket create_stream_socket_perms; allow xserver_t self:udp_socket create_socket_perms; @@ -28201,7 +28204,7 @@ index 8084740..4b4ddc3 100644 manage_dirs_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) manage_files_pattern(xserver_t, xserver_tmp_t, xserver_tmp_t) -@@ -630,12 +909,19 @@ manage_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) +@@ -629,12 +909,19 @@ manage_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) manage_lnk_files_pattern(xserver_t, xkb_var_lib_t, xkb_var_lib_t) files_search_var_lib(xserver_t) @@ -28223,7 +28226,7 @@ index 8084740..4b4ddc3 100644 kernel_read_system_state(xserver_t) kernel_read_device_sysctls(xserver_t) -@@ -643,6 +929,7 @@ kernel_read_modprobe_sysctls(xserver_t) +@@ -642,6 +929,7 @@ kernel_read_modprobe_sysctls(xserver_t) # Xorg wants to check if kernel is tainted kernel_read_kernel_sysctls(xserver_t) kernel_write_proc_files(xserver_t) @@ -28231,7 +28234,7 @@ index 8084740..4b4ddc3 100644 # Run helper programs in xserver_t. corecmd_exec_bin(xserver_t) -@@ -669,7 +956,6 @@ dev_rw_apm_bios(xserver_t) +@@ -668,7 +956,6 @@ dev_rw_apm_bios(xserver_t) dev_rw_agp(xserver_t) dev_rw_framebuffer(xserver_t) dev_manage_dri_dev(xserver_t) @@ -28239,7 +28242,7 @@ index 8084740..4b4ddc3 100644 dev_create_generic_dirs(xserver_t) dev_setattr_generic_dirs(xserver_t) # raw memory access is needed if not using the frame buffer -@@ -679,9 +965,12 @@ dev_wx_raw_memory(xserver_t) +@@ -678,8 +965,13 @@ dev_wx_raw_memory(xserver_t) dev_rw_xserver_misc(xserver_t) # read events - the synaptics touchpad driver reads raw events dev_rw_input_dev(xserver_t) @@ -28247,13 +28250,13 @@ index 8084740..4b4ddc3 100644 +dev_write_raw_memory(xserver_t) dev_rwx_zero(xserver_t) --domain_mmap_low(xserver_t) +domain_dontaudit_read_all_domains_state(xserver_t) +domain_signal_all_domains(xserver_t) - ++ files_read_etc_files(xserver_t) files_read_etc_runtime_files(xserver_t) -@@ -696,8 +985,13 @@ fs_getattr_xattr_fs(xserver_t) + files_read_usr_files(xserver_t) +@@ -693,8 +985,13 @@ fs_getattr_xattr_fs(xserver_t) fs_search_nfs(xserver_t) fs_search_auto_mountpoints(xserver_t) fs_search_ramfs(xserver_t) @@ -28267,7 +28270,7 @@ index 8084740..4b4ddc3 100644 selinux_validate_context(xserver_t) selinux_compute_access_vector(xserver_t) -@@ -719,11 +1013,14 @@ logging_send_audit_msgs(xserver_t) +@@ -716,11 +1013,14 @@ logging_send_audit_msgs(xserver_t) miscfiles_read_localization(xserver_t) miscfiles_read_fonts(xserver_t) @@ -28282,7 +28285,7 @@ index 8084740..4b4ddc3 100644 userdom_search_user_home_dirs(xserver_t) userdom_use_user_ttys(xserver_t) -@@ -775,20 +1072,44 @@ optional_policy(` +@@ -773,20 +1073,44 @@ optional_policy(` ') optional_policy(` @@ -28328,7 +28331,7 @@ index 8084740..4b4ddc3 100644 xfs_stream_connect(xserver_t) ') -@@ -804,10 +1125,10 @@ allow xserver_t xdm_t:shm rw_shm_perms; +@@ -802,10 +1126,10 @@ allow xserver_t xdm_t:shm rw_shm_perms; # NB we do NOT allow xserver_t xdm_var_lib_t:dir, only access to an open # handle of a file inside the dir!!! @@ -28341,7 +28344,7 @@ index 8084740..4b4ddc3 100644 # Label pid and temporary files with derived types. manage_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t) -@@ -828,6 +1149,13 @@ init_use_fds(xserver_t) +@@ -826,6 +1150,13 @@ init_use_fds(xserver_t) # to read ROLE_home_t - examine this in more detail # (xauth?) userdom_read_user_home_content_files(xserver_t) @@ -28355,7 +28358,7 @@ index 8084740..4b4ddc3 100644 tunable_policy(`use_nfs_home_dirs',` fs_manage_nfs_dirs(xserver_t) -@@ -843,11 +1171,14 @@ tunable_policy(`use_samba_home_dirs',` +@@ -841,11 +1172,14 @@ tunable_policy(`use_samba_home_dirs',` optional_policy(` dbus_system_bus_client(xserver_t) @@ -28372,7 +28375,7 @@ index 8084740..4b4ddc3 100644 ') optional_policy(` -@@ -993,3 +1324,33 @@ allow xserver_unconfined_type { x_domain xserver_t }:x_keyboard *; +@@ -991,3 +1325,33 @@ allow xserver_unconfined_type { x_domain xserver_t }:x_keyboard *; allow xserver_unconfined_type xextension_type:x_extension *; allow xserver_unconfined_type { x_domain xserver_t }:x_resource *; allow xserver_unconfined_type xevent_type:{ x_event x_synthetic_event } *; @@ -31446,11 +31449,58 @@ index 879bb1e..31efcb2 100644 /sbin/cryptsetup -- gen_context(system_u:object_r:lvm_exec_t,s0) /sbin/dmraid -- gen_context(system_u:object_r:lvm_exec_t,s0) /sbin/dmsetup -- gen_context(system_u:object_r:lvm_exec_t,s0) +diff --git a/policy/modules/system/lvm.if b/policy/modules/system/lvm.if +index 58bc27f..b4f0663 100644 +--- a/policy/modules/system/lvm.if ++++ b/policy/modules/system/lvm.if +@@ -123,3 +123,21 @@ interface(`lvm_domtrans_clvmd',` + corecmd_search_bin($1) + domtrans_pattern($1, clvmd_exec_t, clvmd_t) + ') ++ ++######################################## ++## ++## Read and write to lvm temporary file system. ++## ++## ++## ++## Domain allowed access. ++## ++## ++# ++interface(`lvm_rw_clvmd_tmpfs_files',` ++ gen_require(` ++ type clvmd_tmpfs_t; ++ ') ++ ++ allow $1 clvmd_tmpfs_t:file rw_file_perms; ++') diff --git a/policy/modules/system/lvm.te b/policy/modules/system/lvm.te -index 86ef2da..4eef596 100644 +index 86ef2da..7eb67d1 100644 --- a/policy/modules/system/lvm.te +++ b/policy/modules/system/lvm.te -@@ -135,9 +135,18 @@ lvm_domtrans(clvmd_t) +@@ -12,6 +12,9 @@ init_daemon_domain(clvmd_t, clvmd_exec_t) + type clvmd_initrc_exec_t; + init_script_file(clvmd_initrc_exec_t) + ++type clmvd_tmpfs_t; ++files_tmpfs_file(clmvd_tmpfs_t) ++ + type clvmd_var_run_t; + files_pid_file(clvmd_var_run_t) + +@@ -56,6 +59,10 @@ allow clvmd_t self:unix_stream_socket { connectto create_stream_socket_perms }; + allow clvmd_t self:tcp_socket create_stream_socket_perms; + allow clvmd_t self:udp_socket create_socket_perms; + ++manage_dirs_pattern(clvmd_t, clmvd_tmpfs_t, clmvd_tmpfs_t) ++manage_files_pattern(clvmd_t, clmvd_tmpfs_t,clmvd_tmpfs_t) ++fs_tmpfs_filetrans(clvmd_t, clmvd_tmpfs_t, { dir file }) ++ + manage_files_pattern(clvmd_t, clvmd_var_run_t, clvmd_var_run_t) + files_pid_filetrans(clvmd_t, clvmd_var_run_t, file) + +@@ -135,9 +142,18 @@ lvm_domtrans(clvmd_t) lvm_read_config(clvmd_t) ifdef(`distro_redhat',` @@ -31469,7 +31519,7 @@ index 86ef2da..4eef596 100644 ') optional_policy(` -@@ -170,6 +179,7 @@ dontaudit lvm_t self:capability sys_tty_config; +@@ -170,6 +186,7 @@ dontaudit lvm_t self:capability sys_tty_config; allow lvm_t self:process { sigchld sigkill sigstop signull signal }; # LVM will complain a lot if it cannot set its priority. allow lvm_t self:process setsched; @@ -31477,7 +31527,7 @@ index 86ef2da..4eef596 100644 allow lvm_t self:file rw_file_perms; allow lvm_t self:fifo_file manage_fifo_file_perms; allow lvm_t self:unix_dgram_socket create_socket_perms; -@@ -210,12 +220,15 @@ filetrans_pattern(lvm_t, lvm_etc_t, lvm_metadata_t, file) +@@ -210,12 +227,15 @@ filetrans_pattern(lvm_t, lvm_etc_t, lvm_metadata_t, file) files_etc_filetrans(lvm_t, lvm_metadata_t, file) files_search_mnt(lvm_t) @@ -31493,7 +31543,7 @@ index 86ef2da..4eef596 100644 kernel_search_debugfs(lvm_t) corecmd_exec_bin(lvm_t) -@@ -242,6 +255,7 @@ dev_dontaudit_getattr_generic_chr_files(lvm_t) +@@ -242,6 +262,7 @@ dev_dontaudit_getattr_generic_chr_files(lvm_t) dev_dontaudit_getattr_generic_blk_files(lvm_t) dev_dontaudit_getattr_generic_pipes(lvm_t) dev_create_generic_dirs(lvm_t) @@ -31501,7 +31551,7 @@ index 86ef2da..4eef596 100644 domain_use_interactive_fds(lvm_t) domain_read_all_domains_state(lvm_t) -@@ -251,8 +265,9 @@ files_read_etc_files(lvm_t) +@@ -251,8 +272,9 @@ files_read_etc_files(lvm_t) files_read_etc_runtime_files(lvm_t) # for when /usr is not mounted: files_dontaudit_search_isid_type_dirs(lvm_t) @@ -31512,7 +31562,7 @@ index 86ef2da..4eef596 100644 fs_search_auto_mountpoints(lvm_t) fs_list_tmpfs(lvm_t) fs_read_tmpfs_symlinks(lvm_t) -@@ -262,6 +277,7 @@ fs_rw_anon_inodefs_files(lvm_t) +@@ -262,6 +284,7 @@ fs_rw_anon_inodefs_files(lvm_t) mls_file_read_all_levels(lvm_t) mls_file_write_to_clearance(lvm_t) @@ -31520,7 +31570,7 @@ index 86ef2da..4eef596 100644 selinux_get_fs_mount(lvm_t) selinux_validate_context(lvm_t) -@@ -303,9 +319,18 @@ ifdef(`distro_redhat',` +@@ -303,9 +326,18 @@ ifdef(`distro_redhat',` # this is from the initrd: files_rw_isid_type_dirs(lvm_t) @@ -31539,7 +31589,7 @@ index 86ef2da..4eef596 100644 ') optional_policy(` -@@ -329,6 +354,10 @@ optional_policy(` +@@ -329,6 +361,10 @@ optional_policy(` ') optional_policy(` @@ -32060,7 +32110,7 @@ index 8b5c196..3490497 100644 + role $2 types showmount_t; ') diff --git a/policy/modules/system/mount.te b/policy/modules/system/mount.te -index fca6947..2639086 100644 +index fca6947..a2f7102 100644 --- a/policy/modules/system/mount.te +++ b/policy/modules/system/mount.te @@ -17,8 +17,15 @@ type mount_exec_t; @@ -32128,7 +32178,7 @@ index fca6947..2639086 100644 +kernel_read_network_state(mount_t) kernel_read_kernel_sysctls(mount_t) -kernel_dontaudit_getattr_core_if(mount_t) -+kernel_rw_debugfs(mount_t) ++kernel_manage_debugfs(mount_t) +kernel_setsched(mount_t) +kernel_use_fds(mount_t) +kernel_request_load_module(mount_t) @@ -34127,7 +34177,7 @@ index ce2fbb9..8b34dbc 100644 -/usr/lib32/openoffice/program/[^/]+\.bin -- gen_context(system_u:object_r:unconfined_execmem_exec_t,s0) -') diff --git a/policy/modules/system/unconfined.if b/policy/modules/system/unconfined.if -index 416e668..bdb4c7b 100644 +index 416e668..c6e8ffe 100644 --- a/policy/modules/system/unconfined.if +++ b/policy/modules/system/unconfined.if @@ -12,14 +12,13 @@ @@ -34165,35 +34215,20 @@ index 416e668..bdb4c7b 100644 kernel_unconfined($1) corenet_unconfined($1) -@@ -44,6 +45,16 @@ interface(`unconfined_domain_noaudit',` +@@ -44,6 +45,12 @@ interface(`unconfined_domain_noaudit',` fs_unconfined($1) selinux_unconfined($1) -+ domain_mmap_low_type($1) ++ domain_mmap_low($1) + + mls_file_read_all_levels($1) + + ubac_process_exempt($1) + -+ tunable_policy(`mmap_low_allowed',` -+ allow $1 self:memprotect mmap_zero; -+ ') -+ tunable_policy(`allow_execheap',` # Allow making the stack executable via mprotect. allow $1 self:process execheap; -@@ -57,8 +68,8 @@ interface(`unconfined_domain_noaudit',` - - tunable_policy(`allow_execstack',` - # Allow making the stack executable via mprotect; -- # execstack implies execmem; -- allow $1 self:process { execstack execmem }; -+ # execstack implies execmem; Bugzilla #211271 -+ allow $1 self:process { execmem execstack }; - # auditallow $1 self:process execstack; - ') - -@@ -69,6 +80,7 @@ interface(`unconfined_domain_noaudit',` +@@ -69,6 +76,7 @@ interface(`unconfined_domain_noaudit',` optional_policy(` # Communicate via dbusd. dbus_system_bus_unconfined($1) @@ -34201,7 +34236,7 @@ index 416e668..bdb4c7b 100644 ') optional_policy(` -@@ -122,6 +134,10 @@ interface(`unconfined_domain_noaudit',` +@@ -122,6 +130,10 @@ interface(`unconfined_domain_noaudit',` ## # interface(`unconfined_domain',` @@ -34212,7 +34247,7 @@ index 416e668..bdb4c7b 100644 unconfined_domain_noaudit($1) tunable_policy(`allow_execheap',` -@@ -178,412 +194,3 @@ interface(`unconfined_alias_domain',` +@@ -178,412 +190,3 @@ interface(`unconfined_alias_domain',` interface(`unconfined_execmem_alias_program',` refpolicywarn(`$0($1) has been deprecated.') ') diff --git a/selinux-policy.spec b/selinux-policy.spec index 8e708af..7799e24 100644 --- a/selinux-policy.spec +++ b/selinux-policy.spec @@ -19,8 +19,8 @@ %define CHECKPOLICYVER 2.0.21-1 Summary: SELinux policy configuration Name: selinux-policy -Version: 3.9.1 -Release: 3%{?dist} +Version: 3.9.2 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Base Source: serefpolicy-%{version}.tgz @@ -469,6 +469,15 @@ exit 0 %endif %changelog +* Thu Aug 31 2010 Dan Walsh 3.9.2-1 +- Merge upstream fix of mmap_zero +- Allow mount to write files in debugfs_t +- Allow corosync to communicate with clvmd via tmpfs +- Allow certmaster to read usr_t files +- Allow dbus system services to search cgroup_t +- Define rlogind_t as a login pgm + + * Wed Aug 31 2010 Dan Walsh 3.9.1-3 - Allow mdadm_t to read/write hugetlbfs diff --git a/sources b/sources index 4192ac7..1d0d2b4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1351ca1eca73598202c01ea63efba6d1 serefpolicy-3.9.1.tgz +f35b66c95c41e4c046727789b361a969 serefpolicy-3.9.2.tgz