Blob Blame History Raw
diff -up serefpolicy-3.10.0/policy/global_tunables.ptrace serefpolicy-3.10.0/policy/global_tunables
--- serefpolicy-3.10.0/policy/global_tunables.ptrace	2011-11-04 16:32:07.055065168 -0400
+++ serefpolicy-3.10.0/policy/global_tunables	2011-11-04 16:32:07.756066508 -0400
@@ -6,6 +6,13 @@
 
 ## <desc>
 ## <p>
+## Allow sysadm to debug or ptrace all processes.
+## </p>
+## </desc>
+gen_tunable(deny_ptrace, false)
+
+## <desc>
+## <p>
 ## Allow unconfined executables to make their heap memory executable.  Doing this is a really bad idea. Probably indicates a badly coded executable, but could indicate an attack. This executable should be reported in bugzilla
 ## </p>
 ## </desc>
diff -up serefpolicy-3.10.0/policy/modules/admin/kdump.if.ptrace serefpolicy-3.10.0/policy/modules/admin/kdump.if
--- serefpolicy-3.10.0/policy/modules/admin/kdump.if.ptrace	2011-11-04 16:32:07.074065202 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/kdump.if	2011-11-04 16:32:07.756066508 -0400
@@ -140,8 +140,11 @@ interface(`kdump_admin',`
 		type kdump_initrc_exec_t;
 	')
 
-	allow $1 kdump_t:process { ptrace signal_perms };
+	allow $1 kdump_t:process signal_perms;
 	ps_process_pattern($1, kdump_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 kdump_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, kdump_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/admin/kismet.if.ptrace serefpolicy-3.10.0/policy/modules/admin/kismet.if
--- serefpolicy-3.10.0/policy/modules/admin/kismet.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/kismet.if	2011-11-04 16:32:07.757066511 -0400
@@ -239,7 +239,10 @@ interface(`kismet_admin',`
 	')
 
 	ps_process_pattern($1, kismet_t)
-	allow $1 kismet_t:process { ptrace signal_perms };
+	allow $1 kismet_t:process signal_perms;
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 kismet_t:process ptrace;
+	')
 
 	kismet_manage_pid_files($1)
 	kismet_manage_lib($1)
diff -up serefpolicy-3.10.0/policy/modules/admin/kudzu.te.ptrace serefpolicy-3.10.0/policy/modules/admin/kudzu.te
--- serefpolicy-3.10.0/policy/modules/admin/kudzu.te.ptrace	2011-11-04 16:32:07.077065210 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/kudzu.te	2011-11-04 16:32:07.758066513 -0400
@@ -20,7 +20,7 @@ files_pid_file(kudzu_var_run_t)
 # Local policy
 #
 
-allow kudzu_t self:capability { dac_override sys_admin sys_ptrace sys_rawio net_admin sys_tty_config mknod };
+allow kudzu_t self:capability { dac_override sys_admin sys_rawio net_admin sys_tty_config mknod };
 dontaudit kudzu_t self:capability sys_tty_config;
 allow kudzu_t self:process { signal_perms execmem };
 allow kudzu_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/admin/logrotate.te.ptrace serefpolicy-3.10.0/policy/modules/admin/logrotate.te
--- serefpolicy-3.10.0/policy/modules/admin/logrotate.te.ptrace	2011-11-04 16:32:07.077065210 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/logrotate.te	2011-11-04 16:32:07.759066514 -0400
@@ -30,8 +30,6 @@ files_type(logrotate_var_lib_t)
 
 # Change ownership on log files.
 allow logrotate_t self:capability { chown dac_override dac_read_search kill fsetid fowner setuid setgid sys_resource sys_nice };
-# for mailx
-dontaudit logrotate_t self:capability { sys_ptrace };
 
 allow logrotate_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
 
diff -up serefpolicy-3.10.0/policy/modules/admin/ncftool.te.ptrace serefpolicy-3.10.0/policy/modules/admin/ncftool.te
--- serefpolicy-3.10.0/policy/modules/admin/ncftool.te.ptrace	2011-11-04 16:32:07.082065219 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/ncftool.te	2011-11-04 16:32:07.759066514 -0400
@@ -17,8 +17,7 @@ role system_r types ncftool_t;
 # ncftool local policy
 #
 
-allow ncftool_t self:capability { net_admin sys_ptrace };
-
+allow ncftool_t self:capability net_admin;
 allow ncftool_t self:process signal;
 
 allow ncftool_t self:fifo_file manage_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/admin/rpm.te.ptrace serefpolicy-3.10.0/policy/modules/admin/rpm.te
--- serefpolicy-3.10.0/policy/modules/admin/rpm.te.ptrace	2011-11-04 16:32:07.716066432 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/rpm.te	2011-11-04 16:32:07.760066516 -0400
@@ -250,7 +250,8 @@ optional_policy(`
 # rpm-script Local policy
 #
 
-allow rpm_script_t self:capability { chown dac_override dac_read_search fowner fsetid setgid setuid ipc_lock sys_admin sys_chroot sys_ptrace sys_rawio sys_nice mknod kill net_admin };
+allow rpm_script_t self:capability { chown dac_override dac_read_search fowner fsetid setgid setuid ipc_lock sys_admin sys_chroot sys_rawio sys_nice mknod kill net_admin };
+
 allow rpm_script_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execheap };
 allow rpm_script_t self:fd use;
 allow rpm_script_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/admin/sectoolm.te.ptrace serefpolicy-3.10.0/policy/modules/admin/sectoolm.te
--- serefpolicy-3.10.0/policy/modules/admin/sectoolm.te.ptrace	2011-11-04 16:32:07.102065257 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/sectoolm.te	2011-11-04 16:32:07.761066518 -0400
@@ -23,7 +23,7 @@ files_tmp_file(sectool_tmp_t)
 # sectool local policy
 #
 
-allow sectoolm_t self:capability { dac_override net_admin sys_nice sys_ptrace };
+allow sectoolm_t self:capability { dac_override net_admin sys_nice };
 allow sectoolm_t self:process { getcap getsched	signull setsched };
 dontaudit sectoolm_t self:process { execstack execmem };
 allow sectoolm_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/admin/shorewall.if.ptrace serefpolicy-3.10.0/policy/modules/admin/shorewall.if
--- serefpolicy-3.10.0/policy/modules/admin/shorewall.if.ptrace	2011-11-04 16:32:07.103065259 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/shorewall.if	2011-11-04 16:32:07.762066520 -0400
@@ -139,8 +139,11 @@ interface(`shorewall_admin',`
 		type shorewall_tmp_t, shorewall_etc_t;
 	')
 
-	allow $1 shorewall_t:process { ptrace signal_perms };
+	allow $1 shorewall_t:process signal_perms;
 	ps_process_pattern($1, shorewall_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 shorewall_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, shorewall_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/admin/shorewall.te.ptrace serefpolicy-3.10.0/policy/modules/admin/shorewall.te
--- serefpolicy-3.10.0/policy/modules/admin/shorewall.te.ptrace	2011-11-04 16:32:07.104065261 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/shorewall.te	2011-11-04 16:32:07.762066520 -0400
@@ -37,7 +37,7 @@ logging_log_file(shorewall_log_t)
 # shorewall local policy
 #
 
-allow shorewall_t self:capability { dac_override net_admin net_raw setuid setgid sys_nice sys_ptrace };
+allow shorewall_t self:capability { dac_override net_admin net_raw setuid setgid sys_nice };
 dontaudit shorewall_t self:capability sys_tty_config;
 allow shorewall_t self:fifo_file rw_fifo_file_perms;
 
diff -up serefpolicy-3.10.0/policy/modules/admin/sosreport.te.ptrace serefpolicy-3.10.0/policy/modules/admin/sosreport.te
--- serefpolicy-3.10.0/policy/modules/admin/sosreport.te.ptrace	2011-11-04 16:32:07.108065268 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/sosreport.te	2011-11-04 16:32:07.763066522 -0400
@@ -21,7 +21,7 @@ files_tmpfs_file(sosreport_tmpfs_t)
 # sosreport local policy
 #
 
-allow sosreport_t self:capability { kill net_admin net_raw setuid sys_admin sys_nice sys_ptrace dac_override };
+allow sosreport_t self:capability { kill net_admin net_raw setuid sys_admin sys_nice dac_override };
 allow sosreport_t self:process { setsched signull };
 allow sosreport_t self:fifo_file rw_fifo_file_perms;
 allow sosreport_t self:tcp_socket create_stream_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/admin/usermanage.te.ptrace serefpolicy-3.10.0/policy/modules/admin/usermanage.te
--- serefpolicy-3.10.0/policy/modules/admin/usermanage.te.ptrace	2011-11-04 16:32:07.689066381 -0400
+++ serefpolicy-3.10.0/policy/modules/admin/usermanage.te	2011-11-04 16:32:07.764066524 -0400
@@ -439,7 +439,8 @@ optional_policy(`
 # Useradd local policy
 #
 
-allow useradd_t self:capability { dac_override chown kill fowner fsetid setuid sys_resource sys_ptrace };
+allow useradd_t self:capability { dac_override chown kill fowner fsetid setuid sys_resource };
+
 dontaudit useradd_t self:capability sys_tty_config;
 allow useradd_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
 allow useradd_t self:process setfscreate;
diff -up serefpolicy-3.10.0/policy/modules/apps/chrome.te.ptrace serefpolicy-3.10.0/policy/modules/apps/chrome.te
--- serefpolicy-3.10.0/policy/modules/apps/chrome.te.ptrace	2011-11-04 16:32:07.123065298 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/chrome.te	2011-11-04 16:32:07.765066525 -0400
@@ -26,7 +26,7 @@ role system_r types chrome_sandbox_nacl_
 #
 # chrome_sandbox local policy
 #
-allow chrome_sandbox_t self:capability { chown dac_override fsetid setgid setuid sys_admin sys_chroot sys_ptrace };
+allow chrome_sandbox_t self:capability { chown dac_override fsetid setgid setuid sys_admin sys_chroot };
 allow chrome_sandbox_t self:process { signal_perms setrlimit execmem execstack };
 allow chrome_sandbox_t self:process setsched;
 allow chrome_sandbox_t self:fifo_file manage_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/apps/execmem.if.ptrace serefpolicy-3.10.0/policy/modules/apps/execmem.if
diff -up serefpolicy-3.10.0/policy/modules/apps/gnome.if.ptrace serefpolicy-3.10.0/policy/modules/apps/gnome.if
--- serefpolicy-3.10.0/policy/modules/apps/gnome.if.ptrace	2011-11-04 16:32:07.131065312 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/gnome.if	2011-11-04 16:32:07.769066534 -0400
@@ -91,8 +91,7 @@ interface(`gnome_role_gkeyringd',`
 	auth_use_nsswitch($1_gkeyringd_t)
 
 	ps_process_pattern($3, $1_gkeyringd_t)
-	allow $3 $1_gkeyringd_t:process { ptrace signal_perms };
-
+	allow $3 $1_gkeyringd_t:process signal_perms;
 	dontaudit $3 gkeyringd_exec_t:file entrypoint;
 
 	stream_connect_pattern($3, gkeyringd_tmp_t, gkeyringd_tmp_t, $1_gkeyringd_t)
diff -up serefpolicy-3.10.0/policy/modules/apps/irc.if.ptrace serefpolicy-3.10.0/policy/modules/apps/irc.if
--- serefpolicy-3.10.0/policy/modules/apps/irc.if.ptrace	2011-11-04 16:32:07.136065322 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/irc.if	2011-11-04 16:32:07.770066536 -0400
@@ -33,7 +33,7 @@ interface(`irc_role',`
 
 	domtrans_pattern($2, irssi_exec_t, irssi_t)
 
-	allow $2 irssi_t:process { ptrace signal_perms };
+	allow $2 irssi_t:process signal_perms;
 	ps_process_pattern($2, irssi_t)
 
 	manage_dirs_pattern($2, irssi_home_t, irssi_home_t)
diff -up serefpolicy-3.10.0/policy/modules/apps/java.if.ptrace serefpolicy-3.10.0/policy/modules/apps/java.if
diff -up serefpolicy-3.10.0/policy/modules/apps/kde.te.ptrace serefpolicy-3.10.0/policy/modules/apps/kde.te
--- serefpolicy-3.10.0/policy/modules/apps/kde.te.ptrace	2011-11-04 16:32:07.140065330 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/kde.te	2011-11-04 16:32:07.772066539 -0400
@@ -13,9 +13,6 @@ dbus_system_domain(kdebacklighthelper_t,
 #
 # backlighthelper local policy
 #
-
-dontaudit kdebacklighthelper_t self:capability sys_ptrace;
-
 allow kdebacklighthelper_t self:fifo_file rw_fifo_file_perms;
 
 kernel_read_system_state(kdebacklighthelper_t)
diff -up serefpolicy-3.10.0/policy/modules/apps/livecd.te.ptrace serefpolicy-3.10.0/policy/modules/apps/livecd.te
--- serefpolicy-3.10.0/policy/modules/apps/livecd.te.ptrace	2011-11-04 16:32:07.142065333 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/livecd.te	2011-11-04 16:32:07.773066541 -0400
@@ -20,7 +20,10 @@ files_tmp_file(livecd_tmp_t)
 
 dontaudit livecd_t self:capability2 mac_admin;
 
-domain_ptrace_all_domains(livecd_t)
+tunable_policy(`deny_ptrace',`',`
+	domain_ptrace_all_domains(livecd_t)
+')
+
 domain_interactive_fd(livecd_t)
 
 manage_dirs_pattern(livecd_t, livecd_tmp_t, livecd_tmp_t)
diff -up serefpolicy-3.10.0/policy/modules/apps/mono.if.ptrace serefpolicy-3.10.0/policy/modules/apps/mono.if
--- serefpolicy-3.10.0/policy/modules/apps/mono.if.ptrace	2011-11-04 16:32:07.145065339 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/mono.if	2011-11-04 16:32:07.773066541 -0400
@@ -40,8 +40,8 @@ template(`mono_role_template',`
 	domain_interactive_fd($1_mono_t)
 	application_type($1_mono_t)
 
-	allow $1_mono_t self:process { ptrace signal getsched execheap execmem execstack };
-	allow $3 $1_mono_t:process { getattr ptrace noatsecure signal_perms };
+	allow $1_mono_t self:process { signal getsched execheap execmem execstack };
+	allow $3 $1_mono_t:process { getattr noatsecure signal_perms };
 
 	domtrans_pattern($3, mono_exec_t, $1_mono_t)
 
diff -up serefpolicy-3.10.0/policy/modules/apps/mono.te.ptrace serefpolicy-3.10.0/policy/modules/apps/mono.te
--- serefpolicy-3.10.0/policy/modules/apps/mono.te.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/mono.te	2011-11-04 16:32:07.774066543 -0400
@@ -15,7 +15,7 @@ init_system_domain(mono_t, mono_exec_t)
 # Local policy
 #
 
-allow mono_t self:process { ptrace signal getsched execheap execmem execstack };
+allow mono_t self:process { signal getsched execheap execmem execstack };
 
 init_dbus_chat_script(mono_t)
 
diff -up serefpolicy-3.10.0/policy/modules/apps/mozilla.if.ptrace serefpolicy-3.10.0/policy/modules/apps/mozilla.if
--- serefpolicy-3.10.0/policy/modules/apps/mozilla.if.ptrace	2011-11-04 16:32:07.146065342 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/mozilla.if	2011-11-04 16:32:07.775066545 -0400
@@ -221,7 +221,7 @@ interface(`mozilla_domtrans_plugin',`
 	allow mozilla_plugin_t $1:sem create_sem_perms;
 
 	ps_process_pattern($1, mozilla_plugin_t)
-	allow $1 mozilla_plugin_t:process { ptrace signal_perms };
+	allow $1 mozilla_plugin_t:process signal_perms;
 ')
 
 ########################################
diff -up serefpolicy-3.10.0/policy/modules/apps/mozilla.te.ptrace serefpolicy-3.10.0/policy/modules/apps/mozilla.te
--- serefpolicy-3.10.0/policy/modules/apps/mozilla.te.ptrace	2011-11-04 16:32:07.720066438 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/mozilla.te	2011-11-04 16:32:07.776066546 -0400
@@ -301,7 +301,7 @@ optional_policy(`
 # mozilla_plugin local policy
 #
 
-dontaudit mozilla_plugin_t self:capability { sys_ptrace sys_nice };
+dontaudit mozilla_plugin_t self:capability sys_nice;
 
 allow mozilla_plugin_t self:process { setsched signal_perms execmem };
 allow mozilla_plugin_t self:netlink_route_socket r_netlink_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/apps/nsplugin.if.ptrace serefpolicy-3.10.0/policy/modules/apps/nsplugin.if
--- serefpolicy-3.10.0/policy/modules/apps/nsplugin.if.ptrace	2011-11-04 16:32:07.152065353 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/nsplugin.if	2011-11-04 16:32:07.777066547 -0400
@@ -93,7 +93,7 @@ ifdef(`hide_broken_symptoms', `
 	dontaudit nsplugin_t $2:shm destroy;
 	allow $2 nsplugin_t:sem rw_sem_perms;
 
-	allow $2 nsplugin_t:process { getattr ptrace signal_perms };
+	allow $2 nsplugin_t:process { getattr signal_perms };
 	allow $2 nsplugin_t:unix_stream_socket connectto;
 
 	# Connect to pulseaudit server
diff -up serefpolicy-3.10.0/policy/modules/apps/nsplugin.te.ptrace serefpolicy-3.10.0/policy/modules/apps/nsplugin.te
--- serefpolicy-3.10.0/policy/modules/apps/nsplugin.te.ptrace	2011-11-04 16:32:07.153065355 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/nsplugin.te	2011-11-04 16:32:07.778066549 -0400
@@ -54,7 +54,7 @@ application_executable_file(nsplugin_con
 #
 dontaudit nsplugin_t self:capability { sys_nice sys_tty_config };
 allow nsplugin_t self:fifo_file rw_file_perms;
-allow nsplugin_t self:process { ptrace setpgid getsched setsched signal_perms };
+allow nsplugin_t self:process { setpgid getsched setsched signal_perms };
 
 allow nsplugin_t self:sem create_sem_perms;
 allow nsplugin_t self:shm create_shm_perms;
diff -up serefpolicy-3.10.0/policy/modules/apps/openoffice.if.ptrace serefpolicy-3.10.0/policy/modules/apps/openoffice.if
--- serefpolicy-3.10.0/policy/modules/apps/openoffice.if.ptrace	2011-11-04 16:32:07.154065356 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/openoffice.if	2011-11-04 16:32:07.779066552 -0400
@@ -69,7 +69,7 @@ interface(`openoffice_role_template',`
 
 	allow $1_openoffice_t self:process { getsched sigkill execheap execmem execstack };
 
-	allow $3 $1_openoffice_t:process { getattr ptrace signal_perms noatsecure siginh rlimitinh };
+	allow $3 $1_openoffice_t:process { getattr signal_perms noatsecure siginh rlimitinh };
 	allow $1_openoffice_t $3:tcp_socket { read write };
 
 	domtrans_pattern($3, openoffice_exec_t, $1_openoffice_t)
diff -up serefpolicy-3.10.0/policy/modules/apps/podsleuth.te.ptrace serefpolicy-3.10.0/policy/modules/apps/podsleuth.te
--- serefpolicy-3.10.0/policy/modules/apps/podsleuth.te.ptrace	2011-11-04 16:32:07.721066440 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/podsleuth.te	2011-11-04 16:32:07.780066555 -0400
@@ -27,7 +27,8 @@ ubac_constrained(podsleuth_tmpfs_t)
 # podsleuth local policy
 #
 allow podsleuth_t self:capability { kill dac_override sys_admin sys_rawio };
-allow podsleuth_t self:process { ptrace signal signull getsched execheap execmem execstack };
+allow podsleuth_t self:process { signal signull getsched execheap execmem execstack };
+
 allow podsleuth_t self:fifo_file rw_file_perms;
 allow podsleuth_t self:unix_stream_socket create_stream_socket_perms;
 allow podsleuth_t self:sem create_sem_perms;
diff -up serefpolicy-3.10.0/policy/modules/apps/uml.if.ptrace serefpolicy-3.10.0/policy/modules/apps/uml.if
--- serefpolicy-3.10.0/policy/modules/apps/uml.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/uml.if	2011-11-04 16:32:07.780066555 -0400
@@ -31,9 +31,9 @@ interface(`uml_role',`
 	allow $2 uml_t:unix_dgram_socket sendto;
 	allow uml_t $2:unix_dgram_socket sendto;
 
-	# allow ps, ptrace, signal
+	# allow ps, signal
 	ps_process_pattern($2, uml_t)
-	allow $2 uml_t:process { ptrace signal_perms };
+	allow $2 uml_t:process signal_perms;
 
 	allow $2 uml_ro_t:dir list_dir_perms;
 	read_files_pattern($2, uml_ro_t, uml_ro_t)
diff -up serefpolicy-3.10.0/policy/modules/apps/uml.te.ptrace serefpolicy-3.10.0/policy/modules/apps/uml.te
--- serefpolicy-3.10.0/policy/modules/apps/uml.te.ptrace	2011-11-04 16:32:07.170065388 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/uml.te	2011-11-04 16:32:07.781066557 -0400
@@ -53,7 +53,7 @@ files_pid_file(uml_switch_var_run_t)
 #
 
 allow uml_t self:fifo_file rw_fifo_file_perms;
-allow uml_t self:process { signal_perms ptrace };
+allow uml_t self:process signal_perms;
 allow uml_t self:unix_stream_socket create_stream_socket_perms;
 allow uml_t self:unix_dgram_socket create_socket_perms;
 # Use the network.
diff -up serefpolicy-3.10.0/policy/modules/apps/wine.if.ptrace serefpolicy-3.10.0/policy/modules/apps/wine.if
--- serefpolicy-3.10.0/policy/modules/apps/wine.if.ptrace	2011-11-04 16:32:07.178065401 -0400
+++ serefpolicy-3.10.0/policy/modules/apps/wine.if	2011-11-04 16:32:07.782066558 -0400
@@ -100,7 +100,7 @@ template(`wine_role_template',`
 	role $2 types $1_wine_t;
 
 	allow $1_wine_t self:process { execmem execstack };
-	allow $3 $1_wine_t:process { getattr ptrace noatsecure signal_perms };
+	allow $3 $1_wine_t:process { getattr noatsecure signal_perms };
 	domtrans_pattern($3, wine_exec_t, $1_wine_t)
 	corecmd_bin_domtrans($1_wine_t, $1_t)
 
diff -up serefpolicy-3.10.0/policy/modules/kernel/domain.te.ptrace serefpolicy-3.10.0/policy/modules/kernel/domain.te
--- serefpolicy-3.10.0/policy/modules/kernel/domain.te.ptrace	2011-11-04 16:32:07.196065437 -0400
+++ serefpolicy-3.10.0/policy/modules/kernel/domain.te	2011-11-04 16:32:07.783066560 -0400
@@ -181,7 +181,10 @@ allow unconfined_domain_type domain:fifo
 allow unconfined_domain_type unconfined_domain_type:dbus send_msg;
 
 # Act upon any other process.
-allow unconfined_domain_type domain:process ~{ transition dyntransition execmem execstack execheap };
+allow unconfined_domain_type domain:process ~{ ptrace transition dyntransition execmem execstack execheap };
+tunable_policy(`deny_ptrace',`',`
+	allow unconfined_domain_type domain:process ptrace;
+')
 
 # Create/access any System V IPC objects.
 allow unconfined_domain_type domain:{ sem msgq shm } *;
@@ -407,3 +410,4 @@ optional_policy(`
 ')
 
 dontaudit domain domain:process { noatsecure siginh rlimitinh } ;
+dontaudit domain self:capability sys_ptrace;
diff -up serefpolicy-3.10.0/policy/modules/kernel/kernel.te.ptrace serefpolicy-3.10.0/policy/modules/kernel/kernel.te
--- serefpolicy-3.10.0/policy/modules/kernel/kernel.te.ptrace	2011-11-04 16:32:07.208065460 -0400
+++ serefpolicy-3.10.0/policy/modules/kernel/kernel.te	2011-11-04 16:32:07.784066562 -0400
@@ -191,7 +191,11 @@ sid tcp_socket		gen_context(system_u:obj
 # kernel local policy
 #
 
-allow kernel_t self:capability *;
+allow kernel_t self:capability ~{ sys_ptrace };
+tunable_policy(`deny_ptrace',`',`
+	allow kernel_t self:capability sys_ptrace;
+')
+
 allow kernel_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
 allow kernel_t self:shm create_shm_perms;
 allow kernel_t self:sem create_sem_perms;
@@ -442,7 +446,7 @@ allow kern_unconfined unlabeled_t:dir_fi
 allow kern_unconfined unlabeled_t:filesystem *;
 allow kern_unconfined unlabeled_t:association *;
 allow kern_unconfined unlabeled_t:packet *;
-allow kern_unconfined unlabeled_t:process ~{ transition dyntransition execmem execstack execheap };
+allow kern_unconfined unlabeled_t:process ~{ ptrace transition dyntransition execmem execstack execheap };
 
 gen_require(`
 	bool secure_mode_insmod;
diff -up serefpolicy-3.10.0/policy/modules/roles/dbadm.te.ptrace serefpolicy-3.10.0/policy/modules/roles/dbadm.te
--- serefpolicy-3.10.0/policy/modules/roles/dbadm.te.ptrace	2011-11-04 16:32:07.220065483 -0400
+++ serefpolicy-3.10.0/policy/modules/roles/dbadm.te	2011-11-04 16:32:07.784066562 -0400
@@ -28,7 +28,7 @@ userdom_base_user_template(dbadm)
 # database admin local policy
 #
 
-allow dbadm_t self:capability { dac_override dac_read_search sys_ptrace };
+allow dbadm_t self:capability { dac_override dac_read_search };
 
 files_dontaudit_search_all_dirs(dbadm_t)
 files_delete_generic_locks(dbadm_t)
diff -up serefpolicy-3.10.0/policy/modules/roles/logadm.te.ptrace serefpolicy-3.10.0/policy/modules/roles/logadm.te
--- serefpolicy-3.10.0/policy/modules/roles/logadm.te.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/roles/logadm.te	2011-11-04 16:32:07.785066564 -0400
@@ -14,6 +14,5 @@ userdom_base_user_template(logadm)
 # logadmin local policy
 #
 
-allow logadm_t self:capability { dac_override dac_read_search kill sys_ptrace sys_nice };
-
+allow logadm_t self:capability { dac_override dac_read_search kill sys_nice };
 logging_admin(logadm_t, logadm_r)
diff -up serefpolicy-3.10.0/policy/modules/roles/sysadm.te.ptrace serefpolicy-3.10.0/policy/modules/roles/sysadm.te
--- serefpolicy-3.10.0/policy/modules/roles/sysadm.te.ptrace	2011-11-04 16:32:07.723066445 -0400
+++ serefpolicy-3.10.0/policy/modules/roles/sysadm.te	2011-11-04 16:32:07.786066566 -0400
@@ -5,13 +5,6 @@ policy_module(sysadm, 2.2.1)
 # Declarations
 #
 
-## <desc>
-## <p>
-## Allow sysadm to debug or ptrace all processes.
-## </p>
-## </desc>
-gen_tunable(allow_ptrace, false)
-
 role sysadm_r;
 
 userdom_admin_user_template(sysadm)
@@ -90,7 +83,7 @@ ifndef(`enable_mls',`
 	logging_stream_connect_syslog(sysadm_t)
 ')
 
-tunable_policy(`allow_ptrace',`
+tunable_policy(`deny_ptrace',`',`
 	domain_ptrace_all_domains(sysadm_t)
 ')
 
diff -up serefpolicy-3.10.0/policy/modules/roles/webadm.te.ptrace serefpolicy-3.10.0/policy/modules/roles/webadm.te
--- serefpolicy-3.10.0/policy/modules/roles/webadm.te.ptrace	2011-11-04 16:32:07.226065494 -0400
+++ serefpolicy-3.10.0/policy/modules/roles/webadm.te	2011-11-04 16:32:07.787066568 -0400
@@ -28,7 +28,7 @@ userdom_base_user_template(webadm)
 # webadmin local policy
 #
 
-allow webadm_t self:capability { dac_override dac_read_search kill sys_ptrace sys_nice };
+allow webadm_t self:capability { dac_override dac_read_search kill sys_nice };
 
 files_dontaudit_search_all_dirs(webadm_t)
 files_manage_generic_locks(webadm_t)
diff -up serefpolicy-3.10.0/policy/modules/services/abrt.if.ptrace serefpolicy-3.10.0/policy/modules/services/abrt.if
--- serefpolicy-3.10.0/policy/modules/services/abrt.if.ptrace	2011-11-04 16:32:07.229065500 -0400
+++ serefpolicy-3.10.0/policy/modules/services/abrt.if	2011-11-04 16:32:07.788066569 -0400
@@ -336,9 +336,13 @@ interface(`abrt_admin',`
 		type abrt_initrc_exec_t;
 	')
 
-	allow $1 abrt_t:process { ptrace signal_perms };
+	allow $1 abrt_t:process { signal_perms };
 	ps_process_pattern($1, abrt_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 abrt_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, abrt_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 abrt_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/accountsd.if.ptrace serefpolicy-3.10.0/policy/modules/services/accountsd.if
--- serefpolicy-3.10.0/policy/modules/services/accountsd.if.ptrace	2011-11-04 16:32:07.231065504 -0400
+++ serefpolicy-3.10.0/policy/modules/services/accountsd.if	2011-11-04 16:32:07.788066569 -0400
@@ -138,8 +138,12 @@ interface(`accountsd_admin',`
 		type accountsd_t;
 	')
 
-	allow $1 accountsd_t:process { ptrace signal_perms };
+	allow $1 accountsd_t:process signal_perms;
 	ps_process_pattern($1, accountsd_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 acountsd_t:process ptrace;
+	')
+
 	accountsd_manage_lib_files($1)
 ')
diff -up serefpolicy-3.10.0/policy/modules/services/accountsd.te.ptrace serefpolicy-3.10.0/policy/modules/services/accountsd.te
--- serefpolicy-3.10.0/policy/modules/services/accountsd.te.ptrace	2011-11-04 16:32:07.232065506 -0400
+++ serefpolicy-3.10.0/policy/modules/services/accountsd.te	2011-11-04 16:32:07.789066570 -0400
@@ -19,7 +19,7 @@ files_type(accountsd_var_lib_t)
 # accountsd local policy
 #
 
-allow accountsd_t self:capability { dac_override setuid setgid sys_ptrace };
+allow accountsd_t self:capability { dac_override setuid setgid };
 allow accountsd_t self:process signal;
 allow accountsd_t self:fifo_file rw_fifo_file_perms;
 
diff -up serefpolicy-3.10.0/policy/modules/services/afs.if.ptrace serefpolicy-3.10.0/policy/modules/services/afs.if
--- serefpolicy-3.10.0/policy/modules/services/afs.if.ptrace	2011-11-04 16:32:07.232065506 -0400
+++ serefpolicy-3.10.0/policy/modules/services/afs.if	2011-11-04 16:32:07.791066575 -0400
@@ -97,9 +97,13 @@ interface(`afs_admin',`
 		type afs_t, afs_initrc_exec_t;
 	')
 
-	allow $1 afs_t:process { ptrace signal_perms };
+	allow $1 afs_t:process signal_perms;
 	ps_process_pattern($1, afs_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 afs_t:process ptrace;
+	')
+
 	# Allow afs_admin to restart the afs service
 	afs_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/aiccu.if.ptrace serefpolicy-3.10.0/policy/modules/services/aiccu.if
--- serefpolicy-3.10.0/policy/modules/services/aiccu.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/aiccu.if	2011-11-04 16:32:07.792066578 -0400
@@ -79,9 +79,13 @@ interface(`aiccu_admin',`
 		type aiccu_var_run_t;
 	')
 
-	allow $1 aiccu_t:process { ptrace signal_perms };
+	allow $1 aiccu_t:process signal_perms;
 	ps_process_pattern($1, aiccu_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 aiccu_t:process ptrace;
+	')
+
 	aiccu_initrc_domtrans($1)
 	domain_system_change_exemption($1)
 	role_transition $2 aiccu_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/aide.if.ptrace serefpolicy-3.10.0/policy/modules/services/aide.if
--- serefpolicy-3.10.0/policy/modules/services/aide.if.ptrace	2011-11-04 16:32:07.235065510 -0400
+++ serefpolicy-3.10.0/policy/modules/services/aide.if	2011-11-04 16:32:07.793066580 -0400
@@ -61,9 +61,13 @@ interface(`aide_admin',`
 		type aide_t, aide_db_t, aide_log_t;
 	')
 
-	allow $1 aide_t:process { ptrace signal_perms };
+	allow $1 aide_t:process signal_perms;
 	ps_process_pattern($1, aide_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 aide_t:process ptrace;
+	')
+
 	files_list_etc($1)
 	admin_pattern($1, aide_db_t)
 
diff -up serefpolicy-3.10.0/policy/modules/services/aisexec.if.ptrace serefpolicy-3.10.0/policy/modules/services/aisexec.if
--- serefpolicy-3.10.0/policy/modules/services/aisexec.if.ptrace	2011-11-04 16:32:07.237065515 -0400
+++ serefpolicy-3.10.0/policy/modules/services/aisexec.if	2011-11-04 16:32:07.794066581 -0400
@@ -82,9 +82,13 @@ interface(`aisexecd_admin',`
 		type aisexec_initrc_exec_t;
 	')
 
-	allow $1 aisexec_t:process { ptrace signal_perms };
+	allow $1 aisexec_t:process signal_perms;
 	ps_process_pattern($1, aisexec_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 aisexec_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, aisexec_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 aisexec_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/ajaxterm.if.ptrace serefpolicy-3.10.0/policy/modules/services/ajaxterm.if
--- serefpolicy-3.10.0/policy/modules/services/ajaxterm.if.ptrace	2011-11-04 16:32:07.239065520 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ajaxterm.if	2011-11-04 16:32:07.795066583 -0400
@@ -76,9 +76,13 @@ interface(`ajaxterm_admin',`
 		type ajaxterm_t, ajaxterm_initrc_exec_t;
 	')
 
-	allow $1 ajaxterm_t:process { ptrace signal_perms };
+	allow $1 ajaxterm_t:process signal_perms;
 	ps_process_pattern($1, ajaxterm_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ajaxterm_t:process ptrace;
+	')
+
 	ajaxterm_initrc_domtrans($1)
 	domain_system_change_exemption($1)
 	role_transition $2 ajaxterm_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/amavis.if.ptrace serefpolicy-3.10.0/policy/modules/services/amavis.if
--- serefpolicy-3.10.0/policy/modules/services/amavis.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/amavis.if	2011-11-04 16:32:07.796066585 -0400
@@ -231,9 +231,13 @@ interface(`amavis_admin',`
 		type amavis_initrc_exec_t;
 	')
 
-	allow $1 amavis_t:process { ptrace signal_perms };
+	allow $1 amavis_t:process signal_perms;
 	ps_process_pattern($1, amavis_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 amavis_t:process ptrace;
+	')
+
 	amavis_initrc_domtrans($1)
  	domain_system_change_exemption($1)
  	role_transition $2 amavis_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/apache.if.ptrace serefpolicy-3.10.0/policy/modules/services/apache.if
--- serefpolicy-3.10.0/policy/modules/services/apache.if.ptrace	2011-11-04 16:32:07.746066489 -0400
+++ serefpolicy-3.10.0/policy/modules/services/apache.if	2011-11-04 16:32:07.798066589 -0400
@@ -1297,9 +1297,13 @@ interface(`apache_admin',`
 		type httpd_unit_file_t;
 	')
 
-	allow $1 httpd_t:process { ptrace signal_perms };
+	allow $1 httpd_t:process signal_perms;
 	ps_process_pattern($1, httpd_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 httpd_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, httpd_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 httpd_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/apcupsd.if.ptrace serefpolicy-3.10.0/policy/modules/services/apcupsd.if
--- serefpolicy-3.10.0/policy/modules/services/apcupsd.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/apcupsd.if	2011-11-04 16:32:07.799066590 -0400
@@ -146,9 +146,13 @@ interface(`apcupsd_admin',`
 		type apcupsd_initrc_exec_t;
 	')
 
-	allow $1 apcupsd_t:process { ptrace signal_perms };
+	allow $1 apcupsd_t:process signal_perms;
 	ps_process_pattern($1, apcupsd_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 apcupsd_t:process ptrace;
+	')
+
 	apcupsd_initrc_domtrans($1, apcupsd_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 apcupsd_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/apm.te.ptrace serefpolicy-3.10.0/policy/modules/services/apm.te
--- serefpolicy-3.10.0/policy/modules/services/apm.te.ptrace	2011-11-04 16:32:07.249065538 -0400
+++ serefpolicy-3.10.0/policy/modules/services/apm.te	2011-11-04 16:32:07.800066591 -0400
@@ -60,7 +60,7 @@ logging_send_syslog_msg(apm_t)
 # mknod: controlling an orderly resume of PCMCIA requires creating device
 # nodes 254,{0,1,2} for some reason.
 allow apmd_t self:capability { sys_admin sys_nice sys_time kill mknod };
-dontaudit apmd_t self:capability { setuid dac_override dac_read_search sys_ptrace sys_tty_config };
+dontaudit apmd_t self:capability { setuid dac_override dac_read_search sys_tty_config };
 allow apmd_t self:process { signal_perms getsession };
 allow apmd_t self:fifo_file rw_fifo_file_perms;
 allow apmd_t self:netlink_socket create_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/arpwatch.if.ptrace serefpolicy-3.10.0/policy/modules/services/arpwatch.if
--- serefpolicy-3.10.0/policy/modules/services/arpwatch.if.ptrace	2011-11-04 16:32:07.249065538 -0400
+++ serefpolicy-3.10.0/policy/modules/services/arpwatch.if	2011-11-04 16:32:07.800066591 -0400
@@ -137,9 +137,13 @@ interface(`arpwatch_admin',`
 		type arpwatch_initrc_exec_t;
 	')
 
-	allow $1 arpwatch_t:process { ptrace signal_perms };
+	allow $1 arpwatch_t:process signal_perms;
 	ps_process_pattern($1, arpwatch_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 arpwatch_t:process ptrace;
+	')
+
 	arpwatch_initrc_domtrans($1)
 	domain_system_change_exemption($1)
 	role_transition $2 arpwatch_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/asterisk.if.ptrace serefpolicy-3.10.0/policy/modules/services/asterisk.if
--- serefpolicy-3.10.0/policy/modules/services/asterisk.if.ptrace	2011-11-04 16:32:07.251065543 -0400
+++ serefpolicy-3.10.0/policy/modules/services/asterisk.if	2011-11-04 16:32:07.801066593 -0400
@@ -64,9 +64,13 @@ interface(`asterisk_admin',`
 		type asterisk_initrc_exec_t;
 	')
 
-	allow $1 asterisk_t:process { ptrace signal_perms };
+	allow $1 asterisk_t:process signal_perms;
 	ps_process_pattern($1, asterisk_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 asterisk_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, asterisk_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 asterisk_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/automount.if.ptrace serefpolicy-3.10.0/policy/modules/services/automount.if
--- serefpolicy-3.10.0/policy/modules/services/automount.if.ptrace	2011-11-04 16:32:07.253065546 -0400
+++ serefpolicy-3.10.0/policy/modules/services/automount.if	2011-11-04 16:32:07.802066596 -0400
@@ -150,9 +150,13 @@ interface(`automount_admin',`
 		type automount_var_run_t, automount_initrc_exec_t;
 	')
 
-	allow $1 automount_t:process { ptrace signal_perms };
+	allow $1 automount_t:process signal_perms;
 	ps_process_pattern($1, automount_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 automount_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, automount_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 automount_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/avahi.if.ptrace serefpolicy-3.10.0/policy/modules/services/avahi.if
--- serefpolicy-3.10.0/policy/modules/services/avahi.if.ptrace	2011-11-04 16:32:07.254065548 -0400
+++ serefpolicy-3.10.0/policy/modules/services/avahi.if	2011-11-04 16:32:07.803066599 -0400
@@ -154,9 +154,13 @@ interface(`avahi_admin',`
 		type avahi_t, avahi_var_run_t, avahi_initrc_exec_t;
 	')
 
-	allow $1 avahi_t:process { ptrace signal_perms };
+	allow $1 avahi_t:process signal_perms;
 	ps_process_pattern($1, avahi_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 avahi_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, avahi_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 avahi_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/bind.if.ptrace serefpolicy-3.10.0/policy/modules/services/bind.if
--- serefpolicy-3.10.0/policy/modules/services/bind.if.ptrace	2011-11-04 16:32:07.256065552 -0400
+++ serefpolicy-3.10.0/policy/modules/services/bind.if	2011-11-04 16:32:07.804066601 -0400
@@ -408,12 +408,20 @@ interface(`bind_admin',`
 		type dnssec_t, ndc_t, named_keytab_t;
 	')
 
-	allow $1 named_t:process { ptrace signal_perms };
+	allow $1 named_t:process signal_perms;
 	ps_process_pattern($1, named_t)
 
-	allow $1 ndc_t:process { ptrace signal_perms };
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 named_t:process ptrace;
+	')
+
+	allow $1 ndc_t:process signal_perms;
 	ps_process_pattern($1, ndc_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ndc_t:process ptrace;
+	')
+
 	bind_run_ndc($1, $2)
 
 	init_labeled_script_domtrans($1, named_initrc_exec_t)
diff -up serefpolicy-3.10.0/policy/modules/services/bitlbee.if.ptrace serefpolicy-3.10.0/policy/modules/services/bitlbee.if
--- serefpolicy-3.10.0/policy/modules/services/bitlbee.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/bitlbee.if	2011-11-04 16:32:07.806066604 -0400
@@ -43,9 +43,13 @@ interface(`bitlbee_admin',`
 		type bitlbee_initrc_exec_t;
 	')
 
-	allow $1 bitlbee_t:process { ptrace signal_perms };
+	allow $1 bitlbee_t:process signal_perms;
 	ps_process_pattern($1, bitlbee_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 bitlbee_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, bitlbee_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 bitlbee_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/bluetooth.if.ptrace serefpolicy-3.10.0/policy/modules/services/bluetooth.if
--- serefpolicy-3.10.0/policy/modules/services/bluetooth.if.ptrace	2011-11-04 16:32:07.259065556 -0400
+++ serefpolicy-3.10.0/policy/modules/services/bluetooth.if	2011-11-04 16:32:07.807066606 -0400
@@ -28,7 +28,11 @@ interface(`bluetooth_role',`
 
 	# allow ps to show cdrecord and allow the user to kill it
 	ps_process_pattern($2, bluetooth_helper_t)
-	allow $2 bluetooth_helper_t:process { ptrace signal_perms };
+	allow $2 bluetooth_helper_t:process signal_perms;
+
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 bluetooth_helper_t:process ptrace;
+	')
 
 	manage_dirs_pattern($2, bluetooth_helper_tmp_t, bluetooth_helper_tmp_t)
 	manage_files_pattern($2, bluetooth_helper_tmp_t, bluetooth_helper_tmp_t)
@@ -220,9 +224,13 @@ interface(`bluetooth_admin',`
 		type bluetooth_conf_t, bluetooth_conf_rw_t;
 	')
 
-	allow $1 bluetooth_t:process { ptrace signal_perms };
+	allow $1 bluetooth_t:process signal_perms;
 	ps_process_pattern($1, bluetooth_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 bluetooth_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, bluetooth_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 bluetooth_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/boinc.if.ptrace serefpolicy-3.10.0/policy/modules/services/boinc.if
--- serefpolicy-3.10.0/policy/modules/services/boinc.if.ptrace	2011-11-04 16:32:07.262065564 -0400
+++ serefpolicy-3.10.0/policy/modules/services/boinc.if	2011-11-04 16:32:07.808066608 -0400
@@ -137,9 +137,13 @@ interface(`boinc_admin',`
 		type boinc_t, boinc_initrc_exec_t, boinc_var_lib_t;
 	')
 
-	allow $1 boinc_t:process { ptrace signal_perms };
+	allow $1 boinc_t:process signal_perms;
 	ps_process_pattern($1, boinc_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 boic_t:process ptrace;
+	')
+
 	boinc_initrc_domtrans($1)
 	domain_system_change_exemption($1)
 	role_transition $2 boinc_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/boinc.te.ptrace serefpolicy-3.10.0/policy/modules/services/boinc.te
--- serefpolicy-3.10.0/policy/modules/services/boinc.te.ptrace	2011-11-04 16:32:07.726066451 -0400
+++ serefpolicy-3.10.0/policy/modules/services/boinc.te	2011-11-04 16:32:07.809066610 -0400
@@ -121,9 +121,13 @@ mta_send_mail(boinc_t)
 domtrans_pattern(boinc_t, boinc_project_var_lib_t, boinc_project_t)
 allow boinc_t boinc_project_t:process sigkill;
 
-allow boinc_project_t self:process { ptrace setpgid setsched signal signull sigkill sigstop };
+allow boinc_project_t self:process { setpgid setsched signal signull sigkill sigstop };
 allow boinc_project_t self:process { execmem execstack };
 
+tunable_policy(`deny_ptrace',`',`
+	allow boinc_project_t self:process ptrace;
+')
+
 allow boinc_project_t self:fifo_file rw_fifo_file_perms;
 allow boinc_project_t self:sem create_sem_perms;
 
diff -up serefpolicy-3.10.0/policy/modules/services/bugzilla.if.ptrace serefpolicy-3.10.0/policy/modules/services/bugzilla.if
--- serefpolicy-3.10.0/policy/modules/services/bugzilla.if.ptrace	2011-11-04 16:32:07.264065567 -0400
+++ serefpolicy-3.10.0/policy/modules/services/bugzilla.if	2011-11-04 16:32:07.809066610 -0400
@@ -62,9 +62,13 @@ interface(`bugzilla_admin',`
         type httpd_bugzilla_htaccess_t, httpd_bugzilla_tmp_t;
     ')
 
-	allow $1 httpd_bugzilla_script_t:process { ptrace signal_perms };
+	allow $1 httpd_bugzilla_script_t:process signal_perms;
 	ps_process_pattern($1, httpd_bugzilla_script_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 httpd_bugzilla_script_t:process ptrace;
+	')
+
 	files_list_tmp($1)
 	admin_pattern($1, httpd_bugzilla_tmp_t)
 
diff -up serefpolicy-3.10.0/policy/modules/services/callweaver.if.ptrace serefpolicy-3.10.0/policy/modules/services/callweaver.if
--- serefpolicy-3.10.0/policy/modules/services/callweaver.if.ptrace	2011-11-04 16:32:07.268065575 -0400
+++ serefpolicy-3.10.0/policy/modules/services/callweaver.if	2011-11-04 16:32:07.810066612 -0400
@@ -336,9 +336,13 @@ interface(`callweaver_admin',`
 		type callweaver_spool_t;
 	')
 
-	allow $1 callweaver_t:process { ptrace signal_perms };
+	allow $1 callweaver_t:process signal_perms;
 	ps_process_pattern($1, callweaver_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 callweaver_t:process ptrace;
+	')
+
 	callweaver_initrc_domtrans($1)
 	domain_system_change_exemption($1)
 	role_transition $2 callweaver_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/canna.if.ptrace serefpolicy-3.10.0/policy/modules/services/canna.if
--- serefpolicy-3.10.0/policy/modules/services/canna.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/canna.if	2011-11-04 16:32:07.811066613 -0400
@@ -42,9 +42,13 @@ interface(`canna_admin',`
 		type canna_var_run_t, canna_initrc_exec_t;
 	')
 
-	allow $1 canna_t:process { ptrace signal_perms };
+	allow $1 canna_t:process signal_perms;
 	ps_process_pattern($1, canna_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 canna_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, canna_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 canna_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/certmaster.if.ptrace serefpolicy-3.10.0/policy/modules/services/certmaster.if
--- serefpolicy-3.10.0/policy/modules/services/certmaster.if.ptrace	2011-11-04 16:32:07.273065585 -0400
+++ serefpolicy-3.10.0/policy/modules/services/certmaster.if	2011-11-04 16:32:07.812066614 -0400
@@ -119,9 +119,13 @@ interface(`certmaster_admin',`
 		type certmaster_etc_rw_t, certmaster_var_log_t, certmaster_initrc_exec_t;
 	')
 
-	allow $1 certmaster_t:process { ptrace signal_perms };
+	allow $1 certmaster_t:process signal_perms;
 	ps_process_pattern($1, certmaster_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 certmaster_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, certmaster_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 certmaster_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/certmonger.if.ptrace serefpolicy-3.10.0/policy/modules/services/certmonger.if
--- serefpolicy-3.10.0/policy/modules/services/certmonger.if.ptrace	2011-11-04 16:32:07.275065588 -0400
+++ serefpolicy-3.10.0/policy/modules/services/certmonger.if	2011-11-04 16:32:07.814066619 -0400
@@ -158,7 +158,11 @@ interface(`certmonger_admin',`
 	')
 
 	ps_process_pattern($1, certmonger_t)
-	allow $1 certmonger_t:process { ptrace signal_perms };
+	allow $1 certmonger_t:process signal_perms;
+
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 certmonger_t:process ptrace;
+	')
 
 	# Allow certmonger_t to restart the apache service
 	certmonger_initrc_domtrans($1)
diff -up serefpolicy-3.10.0/policy/modules/services/cgroup.if.ptrace serefpolicy-3.10.0/policy/modules/services/cgroup.if
--- serefpolicy-3.10.0/policy/modules/services/cgroup.if.ptrace	2011-11-04 16:32:07.278065594 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cgroup.if	2011-11-04 16:32:07.815066622 -0400
@@ -171,15 +171,27 @@ interface(`cgroup_admin',`
 		type cgrules_etc_t, cgclear_t;
 	')
 
-	allow $1 cgclear_t:process { ptrace signal_perms };
+	allow $1 cgclear_t:process signal_perms;
 	ps_process_pattern($1, cgclear_t)
 
-	allow $1 cgconfig_t:process { ptrace signal_perms };
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 cglear_t:process ptrace;
+	')
+
+	allow $1 cgconfig_t:process signal_perms;
 	ps_process_pattern($1, cgconfig_t)
 
-	allow $1 cgred_t:process { ptrace signal_perms };
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 cgconfig_t:process ptrace;
+	')
+
+	allow $1 cgred_t:process signal_perms;
 	ps_process_pattern($1, cgred_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 cgred_t:process ptrace;
+	')
+
 	admin_pattern($1, cgconfig_etc_t)
 	admin_pattern($1, cgrules_etc_t)
 	files_list_etc($1)
diff -up serefpolicy-3.10.0/policy/modules/services/cgroup.te.ptrace serefpolicy-3.10.0/policy/modules/services/cgroup.te
--- serefpolicy-3.10.0/policy/modules/services/cgroup.te.ptrace	2011-11-04 16:32:07.278065594 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cgroup.te	2011-11-04 16:32:07.815066622 -0400
@@ -76,7 +76,8 @@ fs_unmount_cgroup(cgconfig_t)
 # cgred personal policy.
 #
 
-allow cgred_t self:capability { chown fsetid net_admin sys_admin sys_ptrace dac_override };
+allow cgred_t self:capability { chown fsetid net_admin sys_admin dac_override };
+
 allow cgred_t self:netlink_socket { write bind create read };
 allow cgred_t self:unix_dgram_socket { write create connect };
 
diff -up serefpolicy-3.10.0/policy/modules/services/chronyd.if.ptrace serefpolicy-3.10.0/policy/modules/services/chronyd.if
--- serefpolicy-3.10.0/policy/modules/services/chronyd.if.ptrace	2011-11-04 16:32:07.280065598 -0400
+++ serefpolicy-3.10.0/policy/modules/services/chronyd.if	2011-11-04 16:32:07.816066624 -0400
@@ -217,9 +217,13 @@ interface(`chronyd_admin',`
 		type chronyd_keys_t;
 	')
 
-	allow $1 chronyd_t:process { ptrace signal_perms };
+	allow $1 chronyd_t:process signal_perms;
 	ps_process_pattern($1, chronyd_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 chronyd_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, chronyd_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 chronyd_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/clamav.if.ptrace serefpolicy-3.10.0/policy/modules/services/clamav.if
--- serefpolicy-3.10.0/policy/modules/services/clamav.if.ptrace	2011-11-04 16:32:07.282065600 -0400
+++ serefpolicy-3.10.0/policy/modules/services/clamav.if	2011-11-04 16:32:07.817066625 -0400
@@ -176,13 +176,19 @@ interface(`clamav_admin',`
 		type freshclam_t, freshclam_var_log_t;
 	')
 
-	allow $1 clamd_t:process { ptrace signal_perms };
+	allow $1 clamd_t:process signal_perms;
 	ps_process_pattern($1, clamd_t)
 
-	allow $1 clamscan_t:process { ptrace signal_perms };
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 clamd_t:process ptrace;
+		allow $1 clamscan_t:process ptrace;
+		allow $1 freshclam_t:process ptrace;
+	')
+
+	allow $1 clamscan_t:process signal_perms;
 	ps_process_pattern($1, clamscan_t)
 
-	allow $1 freshclam_t:process { ptrace signal_perms };
+	allow $1 freshclam_t:process signal_perms;
 	ps_process_pattern($1, freshclam_t)
 
 	init_labeled_script_domtrans($1, clamd_initrc_exec_t)
diff -up serefpolicy-3.10.0/policy/modules/services/cmirrord.if.ptrace serefpolicy-3.10.0/policy/modules/services/cmirrord.if
--- serefpolicy-3.10.0/policy/modules/services/cmirrord.if.ptrace	2011-11-04 16:32:07.289065615 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cmirrord.if	2011-11-04 16:32:07.818066627 -0400
@@ -101,9 +101,13 @@ interface(`cmirrord_admin',`
 		type cmirrord_t, cmirrord_initrc_exec_t, cmirrord_var_run_t;
 	')
 
-	allow $1 cmirrord_t:process { ptrace signal_perms };
+	allow $1 cmirrord_t:process signal_perms;
 	ps_process_pattern($1, cmirrord_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 cmorrord_t:process ptrace;
+	')
+
 	cmirrord_initrc_domtrans($1)
 	domain_system_change_exemption($1)
 	role_transition $2 cmirrord_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/cobbler.if.ptrace serefpolicy-3.10.0/policy/modules/services/cobbler.if
--- serefpolicy-3.10.0/policy/modules/services/cobbler.if.ptrace	2011-11-04 16:32:07.290065617 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cobbler.if	2011-11-04 16:32:07.819066629 -0400
@@ -189,9 +189,13 @@ interface(`cobblerd_admin',`
 		type httpd_cobbler_content_ra_t, httpd_cobbler_content_rw_t;
 	')
 
-	allow $1 cobblerd_t:process { ptrace signal_perms };
+	allow $1 cobblerd_t:process signal_perms;
 	ps_process_pattern($1, cobblerd_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 cobblerd_t:process ptrace;
+	')
+
 	files_list_etc($1)
 	admin_pattern($1, cobbler_etc_t)
 
diff -up serefpolicy-3.10.0/policy/modules/services/cobbler.te.ptrace serefpolicy-3.10.0/policy/modules/services/cobbler.te
--- serefpolicy-3.10.0/policy/modules/services/cobbler.te.ptrace	2011-11-04 16:32:07.291065619 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cobbler.te	2011-11-04 16:32:07.820066631 -0400
@@ -60,7 +60,7 @@ files_tmp_file(cobbler_tmp_t)
 #
 
 allow cobblerd_t self:capability { chown dac_override fowner fsetid sys_nice };
-dontaudit cobblerd_t self:capability { sys_ptrace sys_tty_config };
+dontaudit cobblerd_t self:capability sys_tty_config;
 
 allow cobblerd_t self:process { getsched setsched signal };
 allow cobblerd_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/collectd.if.ptrace serefpolicy-3.10.0/policy/modules/services/collectd.if
--- serefpolicy-3.10.0/policy/modules/services/collectd.if.ptrace	2011-11-04 16:32:07.292065620 -0400
+++ serefpolicy-3.10.0/policy/modules/services/collectd.if	2011-11-04 16:32:07.821066633 -0400
@@ -142,9 +142,13 @@ interface(`collectd_admin',`
 	type collectd_var_lib_t;
 	')
 
-	allow $1 collectd_t:process { ptrace signal_perms };
+	allow $1 collectd_t:process signal_perms;
 	ps_process_pattern($1, collectd_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 collectd_t:process ptrace;
+	')
+
 	collectd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
 	role_transition $2 collectd_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/consolekit.te.ptrace serefpolicy-3.10.0/policy/modules/services/consolekit.te
--- serefpolicy-3.10.0/policy/modules/services/consolekit.te.ptrace	2011-11-04 16:32:07.295065626 -0400
+++ serefpolicy-3.10.0/policy/modules/services/consolekit.te	2011-11-04 16:32:07.822066635 -0400
@@ -23,7 +23,8 @@ files_tmpfs_file(consolekit_tmpfs_t)
 # consolekit local policy
 #
 
-allow consolekit_t self:capability { chown setuid setgid sys_tty_config dac_override sys_nice sys_ptrace };
+allow consolekit_t self:capability { chown setuid setgid sys_tty_config dac_override sys_nice };
+
 allow consolekit_t self:process { getsched signal };
 allow consolekit_t self:fifo_file rw_fifo_file_perms;
 allow consolekit_t self:unix_stream_socket create_stream_socket_perms;
@@ -144,6 +145,8 @@ optional_policy(`
 
 optional_policy(`
 	#reading .Xauthity
-	unconfined_ptrace(consolekit_t)
+	tunable_policy(`deny_ptrace',`',`
+		unconfined_ptrace(consolekit_t)
+	')
 	unconfined_stream_connect(consolekit_t)
 ')
diff -up serefpolicy-3.10.0/policy/modules/services/corosync.if.ptrace serefpolicy-3.10.0/policy/modules/services/corosync.if
--- serefpolicy-3.10.0/policy/modules/services/corosync.if.ptrace	2011-11-04 16:32:07.297065631 -0400
+++ serefpolicy-3.10.0/policy/modules/services/corosync.if	2011-11-04 16:32:07.823066636 -0400
@@ -101,9 +101,13 @@ interface(`corosyncd_admin',`
 		type corosync_initrc_exec_t;
 	')
 
-	allow $1 corosync_t:process { ptrace signal_perms };
+	allow $1 corosync_t:process signal_perms;
 	ps_process_pattern($1, corosync_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 corosync_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, corosync_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 corosync_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/corosync.te.ptrace serefpolicy-3.10.0/policy/modules/services/corosync.te
--- serefpolicy-3.10.0/policy/modules/services/corosync.te.ptrace	2011-11-04 16:32:07.297065631 -0400
+++ serefpolicy-3.10.0/policy/modules/services/corosync.te	2011-11-04 16:32:07.823066636 -0400
@@ -33,7 +33,7 @@ files_pid_file(corosync_var_run_t)
 # corosync local policy
 #
 
-allow corosync_t self:capability { dac_override setuid sys_nice sys_ptrace sys_resource ipc_lock };
+allow corosync_t self:capability { dac_override setuid sys_nice sys_resource ipc_lock };
 allow corosync_t self:process { setpgid setrlimit setsched signal signull };
 
 allow corosync_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/cron.if.ptrace serefpolicy-3.10.0/policy/modules/services/cron.if
--- serefpolicy-3.10.0/policy/modules/services/cron.if.ptrace	2011-11-04 16:32:07.303065642 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cron.if	2011-11-04 16:32:07.825066639 -0400
@@ -140,7 +140,11 @@ interface(`cron_role',`
 
 	# crontab shows up in user ps
 	ps_process_pattern($2, crontab_t)
-	allow $2 crontab_t:process { ptrace signal_perms };
+	allow $2 crontab_t:process signal_perms;
+
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 crontab_t:process ptrace;
+	')
 
 	# Run helper programs as the user domain
 	#corecmd_bin_domtrans(crontab_t, $2)
@@ -183,7 +187,10 @@ interface(`cron_unconfined_role',`
 
 	# cronjob shows up in user ps
 	ps_process_pattern($2, unconfined_cronjob_t)
-	allow $2 unconfined_cronjob_t:process { ptrace signal_perms };
+	allow $2 unconfined_cronjob_t:process signal_perms;
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 unconfined_cronjob_t:process ptrace;
+	')
 
 	optional_policy(`
 		gen_require(`
@@ -230,7 +237,10 @@ interface(`cron_admin_role',`
 
 	# crontab shows up in user ps
 	ps_process_pattern($2, admin_crontab_t)
-	allow $2 admin_crontab_t:process { ptrace signal_perms };
+	allow $2 admin_crontab_t:process signal_perms;
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 admin_crontab_t:process ptrace;
+	')
 
 	# Run helper programs as the user domain
 	#corecmd_bin_domtrans(admin_crontab_t, $2)
diff -up serefpolicy-3.10.0/policy/modules/services/cron.te.ptrace serefpolicy-3.10.0/policy/modules/services/cron.te
--- serefpolicy-3.10.0/policy/modules/services/cron.te.ptrace	2011-11-04 16:32:07.727066453 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cron.te	2011-11-04 16:32:07.826066642 -0400
@@ -350,7 +350,6 @@ optional_policy(`
 #
 
 allow system_cronjob_t self:capability { dac_override dac_read_search chown setgid setuid fowner net_bind_service fsetid sys_nice };
-dontaudit system_cronjob_t self:capability sys_ptrace;
 
 allow system_cronjob_t self:process { signal_perms getsched setsched };
 allow system_cronjob_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/ctdbd.if.ptrace serefpolicy-3.10.0/policy/modules/services/ctdbd.if
--- serefpolicy-3.10.0/policy/modules/services/ctdbd.if.ptrace	2011-11-04 16:32:07.306065646 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ctdbd.if	2011-11-04 16:32:07.827066644 -0400
@@ -236,8 +236,11 @@ interface(`ctdbd_admin',`
 		type ctdbd_log_t, ctdbd_var_lib_t, ctdbd_var_run_t;
 	')
 
-	allow $1 ctdbd_t:process { ptrace signal_perms };
+	allow $1 ctdbd_t:process signal_perms;
 	ps_process_pattern($1, ctdbd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ctdbd_t:process ptrace;
+	')
 
 	ctdbd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ctdbd.te.ptrace serefpolicy-3.10.0/policy/modules/services/ctdbd.te
--- serefpolicy-3.10.0/policy/modules/services/ctdbd.te.ptrace	2011-11-04 16:32:07.307065649 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ctdbd.te	2011-11-04 16:32:07.828066646 -0400
@@ -33,7 +33,7 @@ files_pid_file(ctdbd_var_run_t)
 # ctdbd local policy
 #
 
-allow ctdbd_t self:capability { chown ipc_lock net_admin net_raw sys_nice sys_ptrace };
+allow ctdbd_t self:capability { chown ipc_lock net_admin net_raw sys_nice };
 allow ctdbd_t self:process { setpgid signal_perms setsched };
 
 allow ctdbd_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/cups.if.ptrace serefpolicy-3.10.0/policy/modules/services/cups.if
--- serefpolicy-3.10.0/policy/modules/services/cups.if.ptrace	2011-11-04 16:32:07.308065651 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cups.if	2011-11-04 16:32:07.828066646 -0400
@@ -327,9 +327,13 @@ interface(`cups_admin',`
 		type ptal_var_run_t;
 	')
 
-	allow $1 cupsd_t:process { ptrace signal_perms };
+	allow $1 cupsd_t:process signal_perms;
 	ps_process_pattern($1, cupsd_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 cupsd_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, cupsd_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 cupsd_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/cvs.if.ptrace serefpolicy-3.10.0/policy/modules/services/cvs.if
--- serefpolicy-3.10.0/policy/modules/services/cvs.if.ptrace	2011-11-04 16:32:07.310065655 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cvs.if	2011-11-04 16:32:07.830066650 -0400
@@ -80,9 +80,13 @@ interface(`cvs_admin',`
 		type cvs_data_t, cvs_var_run_t;
 	')
 
-	allow $1 cvs_t:process { ptrace signal_perms };
+	allow $1 cvs_t:process signal_perms;
 	ps_process_pattern($1, cvs_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 cvs_t:process ptrace;
+	')
+
 	# Allow cvs_t to restart the apache service
 	init_labeled_script_domtrans($1, cvs_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/cyrus.if.ptrace serefpolicy-3.10.0/policy/modules/services/cyrus.if
--- serefpolicy-3.10.0/policy/modules/services/cyrus.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/cyrus.if	2011-11-04 16:32:07.830066650 -0400
@@ -62,9 +62,13 @@ interface(`cyrus_admin',`
 		type cyrus_var_run_t, cyrus_initrc_exec_t;
 	')
 
-	allow $1 cyrus_t:process { ptrace signal_perms };
+	allow $1 cyrus_t:process signal_perms;
 	ps_process_pattern($1, cyrus_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 cyrus_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, cyrus_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 cyrus_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/dbus.if.ptrace serefpolicy-3.10.0/policy/modules/services/dbus.if
--- serefpolicy-3.10.0/policy/modules/services/dbus.if.ptrace	2011-11-04 16:32:07.316065665 -0400
+++ serefpolicy-3.10.0/policy/modules/services/dbus.if	2011-11-04 16:32:07.831066652 -0400
@@ -71,7 +71,11 @@ template(`dbus_role_template',`
 	domtrans_pattern($3, dbusd_exec_t, $1_dbusd_t)
 
 	ps_process_pattern($3, $1_dbusd_t)
-	allow $3 $1_dbusd_t:process { ptrace signal_perms };
+	allow $3 $1_dbusd_t:process signal_perms;
+
+	tunable_policy(`deny_ptrace',`',`
+		allow $3 $1_dbusd_t:process ptrace;
+	')
 
 	# cjp: this seems very broken
 	corecmd_bin_domtrans($1_dbusd_t, $1_t)
diff -up serefpolicy-3.10.0/policy/modules/services/ddclient.if.ptrace serefpolicy-3.10.0/policy/modules/services/ddclient.if
--- serefpolicy-3.10.0/policy/modules/services/ddclient.if.ptrace	2011-11-04 16:32:07.319065673 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ddclient.if	2011-11-04 16:32:07.832066654 -0400
@@ -68,9 +68,13 @@ interface(`ddclient_admin',`
 		type ddclient_var_run_t;
 	')
 
-	allow $1 ddclient_t:process { ptrace signal_perms };
+	allow $1 ddclient_t:process signal_perms;
 	ps_process_pattern($1, ddclient_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ddclient_t:process ptrace;
+	')
+
 	init_labeled_script_domtrans($1, ddclient_initrc_exec_t)
 	domain_system_change_exemption($1)
 	role_transition $2 ddclient_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/denyhosts.if.ptrace serefpolicy-3.10.0/policy/modules/services/denyhosts.if
--- serefpolicy-3.10.0/policy/modules/services/denyhosts.if.ptrace	2011-11-04 16:32:07.320065675 -0400
+++ serefpolicy-3.10.0/policy/modules/services/denyhosts.if	2011-11-04 16:32:07.833066656 -0400
@@ -67,9 +67,13 @@ interface(`denyhosts_admin',`
 		type denyhosts_var_log_t, denyhosts_initrc_exec_t;
 	')
 
-	allow $1 denyhosts_t:process { ptrace signal_perms };
+	allow $1 denyhosts_t:process signal_perms;
 	ps_process_pattern($1, denyhosts_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 denyhosts_t:process ptrace;
+	')
+
 	denyhosts_initrc_domtrans($1)
 	domain_system_change_exemption($1)
 	role_transition $2 denyhosts_initrc_exec_t system_r;
diff -up serefpolicy-3.10.0/policy/modules/services/devicekit.if.ptrace serefpolicy-3.10.0/policy/modules/services/devicekit.if
--- serefpolicy-3.10.0/policy/modules/services/devicekit.if.ptrace	2011-11-04 16:32:07.323065680 -0400
+++ serefpolicy-3.10.0/policy/modules/services/devicekit.if	2011-11-04 16:32:07.834066657 -0400
@@ -308,13 +308,18 @@ interface(`devicekit_admin',`
 		type devicekit_var_lib_t, devicekit_var_run_t, devicekit_tmp_t;
 	')
 
-	allow $1 devicekit_t:process { ptrace signal_perms };
+	allow $1 devicekit_t:process signal_perms;
 	ps_process_pattern($1, devicekit_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 devicekit_t:process ptrace;
+		allow $1 devicekit_disk_t:process ptrace;
+		allow $1 devicekit_power_t:process ptrace;
+	')
 
-	allow $1 devicekit_disk_t:process { ptrace signal_perms };
+	allow $1 devicekit_disk_t:process signal_perms;
 	ps_process_pattern($1, devicekit_disk_t)
 
-	allow $1 devicekit_power_t:process { ptrace signal_perms };
+	allow $1 devicekit_power_t:process signal_perms;
 	ps_process_pattern($1, devicekit_power_t)
 
 	admin_pattern($1, devicekit_tmp_t)
diff -up serefpolicy-3.10.0/policy/modules/services/devicekit.te.ptrace serefpolicy-3.10.0/policy/modules/services/devicekit.te
--- serefpolicy-3.10.0/policy/modules/services/devicekit.te.ptrace	2011-11-04 16:32:07.324065682 -0400
+++ serefpolicy-3.10.0/policy/modules/services/devicekit.te	2011-11-04 16:32:07.835066658 -0400
@@ -65,7 +65,8 @@ optional_policy(`
 # DeviceKit disk local policy
 #
 
-allow devicekit_disk_t self:capability { chown setuid setgid dac_override fowner fsetid net_admin sys_admin sys_nice sys_ptrace sys_rawio };
+allow devicekit_disk_t self:capability { chown setuid setgid dac_override fowner fsetid net_admin sys_admin sys_nice sys_rawio };
+
 allow devicekit_disk_t self:process { getsched signal_perms };
 allow devicekit_disk_t self:fifo_file rw_fifo_file_perms;
 allow devicekit_disk_t self:netlink_kobject_uevent_socket create_socket_perms;
@@ -199,7 +200,7 @@ optional_policy(`
 # DeviceKit-Power local policy
 #
 
-allow devicekit_power_t self:capability { dac_override net_admin sys_admin sys_tty_config sys_nice sys_ptrace };
+allow devicekit_power_t self:capability { dac_override net_admin sys_admin sys_tty_config sys_nice };
 allow devicekit_power_t self:process { getsched signal_perms };
 allow devicekit_power_t self:fifo_file rw_fifo_file_perms;
 allow devicekit_power_t self:unix_dgram_socket create_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/dhcp.if.ptrace serefpolicy-3.10.0/policy/modules/services/dhcp.if
--- serefpolicy-3.10.0/policy/modules/services/dhcp.if.ptrace	2011-11-04 16:32:07.325065684 -0400
+++ serefpolicy-3.10.0/policy/modules/services/dhcp.if	2011-11-04 16:32:07.836066660 -0400
@@ -105,8 +105,11 @@ interface(`dhcpd_admin',`
 		type dhcpd_var_run_t, dhcpd_initrc_exec_t;
 	')
 
-	allow $1 dhcpd_t:process { ptrace signal_perms };
+	allow $1 dhcpd_t:process signal_perms;
 	ps_process_pattern($1, dhcpd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 dhcpd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, dhcpd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/dictd.if.ptrace serefpolicy-3.10.0/policy/modules/services/dictd.if
--- serefpolicy-3.10.0/policy/modules/services/dictd.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/dictd.if	2011-11-04 16:32:07.837066663 -0400
@@ -38,8 +38,11 @@ interface(`dictd_admin',`
 		type dictd_var_run_t, dictd_initrc_exec_t;
 	')
 
-	allow $1 dictd_t:process { ptrace signal_perms };
+	allow $1 dictd_t:process signal_perms;
 	ps_process_pattern($1, dictd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 dictd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, dictd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/dnsmasq.if.ptrace serefpolicy-3.10.0/policy/modules/services/dnsmasq.if
--- serefpolicy-3.10.0/policy/modules/services/dnsmasq.if.ptrace	2011-11-04 16:32:07.333065699 -0400
+++ serefpolicy-3.10.0/policy/modules/services/dnsmasq.if	2011-11-04 16:32:07.838066666 -0400
@@ -298,8 +298,11 @@ interface(`dnsmasq_admin',`
 		type dnsmasq_initrc_exec_t;
 	')
 
-	allow $1 dnsmasq_t:process { ptrace signal_perms };
+	allow $1 dnsmasq_t:process signal_perms;
 	ps_process_pattern($1, dnsmasq_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 dnsmasq_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, dnsmasq_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/dovecot.if.ptrace serefpolicy-3.10.0/policy/modules/services/dovecot.if
--- serefpolicy-3.10.0/policy/modules/services/dovecot.if.ptrace	2011-11-04 16:32:07.335065703 -0400
+++ serefpolicy-3.10.0/policy/modules/services/dovecot.if	2011-11-04 16:32:07.839066668 -0400
@@ -119,8 +119,11 @@ interface(`dovecot_admin',`
 		type dovecot_cert_t, dovecot_passwd_t, dovecot_initrc_exec_t;
 	')
 
-	allow $1 dovecot_t:process { ptrace signal_perms };
+	allow $1 dovecot_t:process signal_perms;
 	ps_process_pattern($1, dovecot_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 dovecot_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, dovecot_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/drbd.if.ptrace serefpolicy-3.10.0/policy/modules/services/drbd.if
--- serefpolicy-3.10.0/policy/modules/services/drbd.if.ptrace	2011-11-04 16:32:07.338065708 -0400
+++ serefpolicy-3.10.0/policy/modules/services/drbd.if	2011-11-04 16:32:07.840066669 -0400
@@ -120,8 +120,11 @@ interface(`drbd_admin',`
                 type drbd_var_lib_t;
 	')
 
-	allow $1 drbd_t:process { ptrace signal_perms };
+	allow $1 drbd_t:process signal_perms;
 	ps_process_pattern($1, drbd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 drbd_t:process ptrace;
+	')
 
 	files_search_var_lib($1)
 	admin_pattern($1, drbd_var_lib_t)
diff -up serefpolicy-3.10.0/policy/modules/services/dspam.if.ptrace serefpolicy-3.10.0/policy/modules/services/dspam.if
--- serefpolicy-3.10.0/policy/modules/services/dspam.if.ptrace	2011-11-04 16:32:07.340065711 -0400
+++ serefpolicy-3.10.0/policy/modules/services/dspam.if	2011-11-04 16:32:07.841066671 -0400
@@ -244,8 +244,11 @@ interface(`dspam_admin',`
 		type dspam_var_run_t;
 	')
 
-	allow $1 dspam_t:process { ptrace signal_perms };
+	allow $1 dspam_t:process signal_perms;
 	ps_process_pattern($1, dspam_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 dspam_t:process ptrace;
+	')
 
 	dspam_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/exim.if.ptrace serefpolicy-3.10.0/policy/modules/services/exim.if
--- serefpolicy-3.10.0/policy/modules/services/exim.if.ptrace	2011-11-04 16:32:07.342065717 -0400
+++ serefpolicy-3.10.0/policy/modules/services/exim.if	2011-11-04 16:32:07.842066673 -0400
@@ -260,8 +260,11 @@ interface(`exim_admin',`
 		type exim_tmp_t, exim_spool_t, exim_var_run_t;
 	')
 
-	allow $1 exim_t:process { ptrace signal_perms };
+	allow $1 exim_t:process signal_perms;
 	ps_process_pattern($1, exim_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 exim_t:process ptrace;
+	')
 
 	exim_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/fail2ban.if.ptrace serefpolicy-3.10.0/policy/modules/services/fail2ban.if
--- serefpolicy-3.10.0/policy/modules/services/fail2ban.if.ptrace	2011-11-04 16:32:07.344065720 -0400
+++ serefpolicy-3.10.0/policy/modules/services/fail2ban.if	2011-11-04 16:32:07.843066675 -0400
@@ -199,8 +199,11 @@ interface(`fail2ban_admin',`
 		type fail2ban_client_t;
 	')
 
-	allow $1 { fail2ban_t fail2ban_client_t }:process { ptrace signal_perms };
+	allow $1 { fail2ban_t fail2ban_client_t }:process signal_perms;
 	ps_process_pattern($1, { fail2ban_t fail2ban_client_t })
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 { fail2ban_t fail2ban_client_t }:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, fail2ban_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/fcoemon.if.ptrace serefpolicy-3.10.0/policy/modules/services/fcoemon.if
--- serefpolicy-3.10.0/policy/modules/services/fcoemon.if.ptrace	2011-11-04 16:32:07.346065724 -0400
+++ serefpolicy-3.10.0/policy/modules/services/fcoemon.if	2011-11-04 16:32:07.843066675 -0400
@@ -81,8 +81,11 @@ interface(`fcoemon_admin',`
 	type fcoemon_var_run_t;
 	')
 
-	allow $1 fcoemon_t:process { ptrace signal_perms };
+	allow $1 fcoemon_t:process signal_perms;
 	ps_process_pattern($1, fcoemon_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 fcoemon_t:process ptrace;
+	')
 
 	files_search_pids($1)
 	admin_pattern($1, fcoemon_var_run_t)
diff -up serefpolicy-3.10.0/policy/modules/services/fetchmail.if.ptrace serefpolicy-3.10.0/policy/modules/services/fetchmail.if
--- serefpolicy-3.10.0/policy/modules/services/fetchmail.if.ptrace	2011-11-04 16:32:07.349065730 -0400
+++ serefpolicy-3.10.0/policy/modules/services/fetchmail.if	2011-11-04 16:32:07.844066677 -0400
@@ -18,8 +18,11 @@ interface(`fetchmail_admin',`
 		type fetchmail_var_run_t;
 	')
 
-	allow $1 fetchmail_t:process { ptrace signal_perms };
+	allow $1 fetchmail_t:process signal_perms;
 	ps_process_pattern($1, fetchmail_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 fetchmail_t:process ptrace;
+	')
 
 	files_list_etc($1)
 	admin_pattern($1, fetchmail_etc_t)
diff -up serefpolicy-3.10.0/policy/modules/services/firewalld.if.ptrace serefpolicy-3.10.0/policy/modules/services/firewalld.if
--- serefpolicy-3.10.0/policy/modules/services/firewalld.if.ptrace	2011-11-04 16:32:07.352065734 -0400
+++ serefpolicy-3.10.0/policy/modules/services/firewalld.if	2011-11-04 16:32:07.845066679 -0400
@@ -62,8 +62,11 @@ interface(`firewalld_admin',`
 		type firewalld_initrc_exec_t;
 	')
 
-	allow $1 firewalld_t:process { ptrace signal_perms };
+	allow $1 firewalld_t:process signal_perms;
 	ps_process_pattern($1, firewalld_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 firewalld_t:process ptrace;
+	')
 
 	firewalld_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/fprintd.te.ptrace serefpolicy-3.10.0/policy/modules/services/fprintd.te
--- serefpolicy-3.10.0/policy/modules/services/fprintd.te.ptrace	2011-11-04 16:32:07.354065739 -0400
+++ serefpolicy-3.10.0/policy/modules/services/fprintd.te	2011-11-04 16:32:07.846066680 -0400
@@ -17,7 +17,8 @@ files_type(fprintd_var_lib_t)
 # Local policy
 #
 
-allow fprintd_t self:capability { sys_nice sys_ptrace };
+allow fprintd_t self:capability sys_nice;
+
 allow fprintd_t self:fifo_file rw_fifo_file_perms;
 allow fprintd_t self:process { getsched setsched signal };
 
diff -up serefpolicy-3.10.0/policy/modules/services/ftp.if.ptrace serefpolicy-3.10.0/policy/modules/services/ftp.if
--- serefpolicy-3.10.0/policy/modules/services/ftp.if.ptrace	2011-11-04 16:32:07.355065741 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ftp.if	2011-11-04 16:32:07.847066681 -0400
@@ -237,8 +237,11 @@ interface(`ftp_admin',`
 		type ftpd_initrc_exec_t;
 	')
 
-	allow $1 ftpd_t:process { ptrace signal_perms };
+	allow $1 ftpd_t:process signal_perms;
 	ps_process_pattern($1, ftpd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ftpd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, ftpd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/git.if.ptrace serefpolicy-3.10.0/policy/modules/services/git.if
--- serefpolicy-3.10.0/policy/modules/services/git.if.ptrace	2011-11-04 16:32:07.359065749 -0400
+++ serefpolicy-3.10.0/policy/modules/services/git.if	2011-11-04 16:32:07.848066683 -0400
@@ -42,8 +42,11 @@ interface(`git_session_role',`
 
 	domtrans_pattern($2, gitd_exec_t, git_session_t)
 
-	allow $2 git_session_t:process { ptrace signal_perms };
+	allow $2 git_session_t:process signal_perms;
 	ps_process_pattern($2, git_session_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 git_session_t:process ptrace;
+	')
 ')
 
 ########################################
diff -up serefpolicy-3.10.0/policy/modules/services/glance.if.ptrace serefpolicy-3.10.0/policy/modules/services/glance.if
--- serefpolicy-3.10.0/policy/modules/services/glance.if.ptrace	2011-11-04 16:32:07.361065752 -0400
+++ serefpolicy-3.10.0/policy/modules/services/glance.if	2011-11-04 16:32:07.849066686 -0400
@@ -245,10 +245,14 @@ interface(`glance_admin',`
 		type glance_api_initrc_exec_t;
 	')
 
-	allow $1 glance_registry_t:process { ptrace signal_perms };
+	allow $1 glance_registry_t:process signal_perms;
 	ps_process_pattern($1, glance_registry_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 glance_registry_t:process ptrace;
+		allow $1 glance_api_t:process ptrace;
+	')
 
-	allow $1 glance_api_t:process { ptrace signal_perms };
+	allow $1 glance_api_t:process signal_perms;
 	ps_process_pattern($1, glance_api_t)
 
 	init_labeled_script_domtrans($1, glance_registry_initrc_exec_t)
diff -up serefpolicy-3.10.0/policy/modules/services/gnomeclock.te.ptrace serefpolicy-3.10.0/policy/modules/services/gnomeclock.te
--- serefpolicy-3.10.0/policy/modules/services/gnomeclock.te.ptrace	2011-11-04 16:32:07.364065758 -0400
+++ serefpolicy-3.10.0/policy/modules/services/gnomeclock.te	2011-11-04 16:32:07.850066688 -0400
@@ -14,7 +14,7 @@ dbus_system_domain(gnomeclock_t, gnomecl
 # gnomeclock local policy
 #
 
-allow gnomeclock_t self:capability { sys_nice sys_time sys_ptrace };
+allow gnomeclock_t self:capability { sys_nice sys_time };
 allow gnomeclock_t self:process { getattr getsched signal };
 allow gnomeclock_t self:fifo_file rw_fifo_file_perms;
 allow gnomeclock_t self:unix_stream_socket create_stream_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/gpsd.te.ptrace serefpolicy-3.10.0/policy/modules/services/gpsd.te
--- serefpolicy-3.10.0/policy/modules/services/gpsd.te.ptrace	2011-11-04 16:32:07.366065763 -0400
+++ serefpolicy-3.10.0/policy/modules/services/gpsd.te	2011-11-04 16:32:07.851066690 -0400
@@ -25,7 +25,7 @@ files_pid_file(gpsd_var_run_t)
 #
 
 allow gpsd_t self:capability { fowner fsetid setuid setgid sys_nice sys_time sys_tty_config };
-dontaudit gpsd_t self:capability { dac_read_search dac_override sys_ptrace };
+dontaudit gpsd_t self:capability { dac_read_search dac_override };
 allow gpsd_t self:process { setsched signal_perms };
 allow gpsd_t self:shm create_shm_perms;
 allow gpsd_t self:unix_dgram_socket { create_socket_perms sendto };
diff -up serefpolicy-3.10.0/policy/modules/services/hadoop.if.ptrace serefpolicy-3.10.0/policy/modules/services/hadoop.if
--- serefpolicy-3.10.0/policy/modules/services/hadoop.if.ptrace	2011-11-04 16:32:07.728066455 -0400
+++ serefpolicy-3.10.0/policy/modules/services/hadoop.if	2011-11-04 16:32:07.852066692 -0400
@@ -222,14 +222,21 @@ interface(`hadoop_role',`
 	hadoop_domtrans($2)
 	role $1 types hadoop_t;
 
-	allow $2 hadoop_t:process { ptrace signal_perms };
+	allow $2 hadoop_t:process signal_perms;
 	ps_process_pattern($2, hadoop_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 hadoop_t:process ptrace;
+	')
 
 	hadoop_domtrans_zookeeper_client($2)
 	role $1 types zookeeper_t;
 
-	allow $2 zookeeper_t:process { ptrace signal_perms };
+	allow $2 zookeeper_t:process signal_perms;
 	ps_process_pattern($2, zookeeper_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 zookeeper_t:process ptrace;
+	')
+
 ')
 
 ########################################
diff -up serefpolicy-3.10.0/policy/modules/services/hal.if.ptrace serefpolicy-3.10.0/policy/modules/services/hal.if
--- serefpolicy-3.10.0/policy/modules/services/hal.if.ptrace	2011-11-04 16:32:07.370065770 -0400
+++ serefpolicy-3.10.0/policy/modules/services/hal.if	2011-11-04 16:32:07.853066694 -0400
@@ -70,7 +70,9 @@ interface(`hal_ptrace',`
 		type hald_t;
 	')
 
-	allow $1 hald_t:process ptrace;
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 hald_t:process ptrace;
+	')
 ')
 
 ########################################
diff -up serefpolicy-3.10.0/policy/modules/services/hal.te.ptrace serefpolicy-3.10.0/policy/modules/services/hal.te
--- serefpolicy-3.10.0/policy/modules/services/hal.te.ptrace	2011-11-04 16:32:07.371065772 -0400
+++ serefpolicy-3.10.0/policy/modules/services/hal.te	2011-11-04 16:32:07.854066696 -0400
@@ -64,7 +64,7 @@ typealias hald_var_run_t alias pmtools_v
 
 # execute openvt which needs setuid
 allow hald_t self:capability { chown setuid setgid kill net_admin sys_admin sys_nice dac_override dac_read_search mknod sys_rawio sys_tty_config };
-dontaudit hald_t self:capability {sys_ptrace sys_tty_config };
+dontaudit hald_t self:capability sys_tty_config;
 allow hald_t self:process { getsched getattr signal_perms };
 allow hald_t self:fifo_file rw_fifo_file_perms;
 allow hald_t self:unix_stream_socket { create_stream_socket_perms connectto };
diff -up serefpolicy-3.10.0/policy/modules/services/hddtemp.if.ptrace serefpolicy-3.10.0/policy/modules/services/hddtemp.if
--- serefpolicy-3.10.0/policy/modules/services/hddtemp.if.ptrace	2011-11-04 16:32:07.371065772 -0400
+++ serefpolicy-3.10.0/policy/modules/services/hddtemp.if	2011-11-04 16:32:07.855066698 -0400
@@ -60,8 +60,11 @@ interface(`hddtemp_admin',`
 		type hddtemp_t, hddtemp_etc_t, hddtemp_initrc_exec_t;
 	')
 
-	allow $1 hddtemp_t:process { ptrace signal_perms };
+	allow $1 hddtemp_t:process signal_perms;
 	ps_process_pattern($1, hddtemp_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 hddtemp_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, hddtemp_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/icecast.if.ptrace serefpolicy-3.10.0/policy/modules/services/icecast.if
--- serefpolicy-3.10.0/policy/modules/services/icecast.if.ptrace	2011-11-04 16:32:07.373065775 -0400
+++ serefpolicy-3.10.0/policy/modules/services/icecast.if	2011-11-04 16:32:07.856066700 -0400
@@ -173,8 +173,11 @@ interface(`icecast_admin',`
 		type icecast_t, icecast_initrc_exec_t;
 	')
 
-	allow $1 icecast_t:process { ptrace signal_perms };
+	allow $1 icecast_t:process signal_perms;
 	ps_process_pattern($1, icecast_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 icecast_t:process ptrace;
+	')
 
 	# Allow icecast_t to restart the apache service
 	icecast_initrc_domtrans($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ifplugd.if.ptrace serefpolicy-3.10.0/policy/modules/services/ifplugd.if
--- serefpolicy-3.10.0/policy/modules/services/ifplugd.if.ptrace	2011-11-04 16:32:07.374065776 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ifplugd.if	2011-11-04 16:32:07.856066700 -0400
@@ -117,7 +117,7 @@ interface(`ifplugd_admin',`
 		type ifplugd_initrc_exec_t;
 	')
 
-	allow $1 ifplugd_t:process { ptrace signal_perms };
+	allow $1 ifplugd_t:process signal_perms;
 	ps_process_pattern($1, ifplugd_t)
 
 	init_labeled_script_domtrans($1, ifplugd_initrc_exec_t)
diff -up serefpolicy-3.10.0/policy/modules/services/ifplugd.te.ptrace serefpolicy-3.10.0/policy/modules/services/ifplugd.te
--- serefpolicy-3.10.0/policy/modules/services/ifplugd.te.ptrace	2011-11-04 16:32:07.375065778 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ifplugd.te	2011-11-04 16:32:07.857066701 -0400
@@ -26,7 +26,7 @@ files_pid_file(ifplugd_var_run_t)
 #
 
 allow ifplugd_t self:capability { net_admin sys_nice net_bind_service };
-dontaudit ifplugd_t self:capability { sys_tty_config sys_ptrace };
+dontaudit ifplugd_t self:capability sys_tty_config;
 allow ifplugd_t self:process { signal signull };
 allow ifplugd_t self:fifo_file rw_fifo_file_perms;
 allow ifplugd_t self:tcp_socket create_stream_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/inn.if.ptrace serefpolicy-3.10.0/policy/modules/services/inn.if
--- serefpolicy-3.10.0/policy/modules/services/inn.if.ptrace	2011-11-04 16:32:07.378065785 -0400
+++ serefpolicy-3.10.0/policy/modules/services/inn.if	2011-11-04 16:32:07.859066704 -0400
@@ -202,8 +202,11 @@ interface(`inn_admin',`
 		type innd_initrc_exec_t;
 	')
 
-	allow $1 innd_t:process { ptrace signal_perms };
+	allow $1 innd_t:process signal_perms;
 	ps_process_pattern($1, innd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 innd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, innd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/jabber.if.ptrace serefpolicy-3.10.0/policy/modules/services/jabber.if
--- serefpolicy-3.10.0/policy/modules/services/jabber.if.ptrace	2011-11-04 16:32:07.381065791 -0400
+++ serefpolicy-3.10.0/policy/modules/services/jabber.if	2011-11-04 16:32:07.860066707 -0400
@@ -143,10 +143,14 @@ interface(`jabber_admin',`
 		type jabberd_initrc_exec_t, jabberd_router_t;
 	')
 
-	allow $1 jabberd_t:process { ptrace signal_perms };
+	allow $1 jabberd_t:process signal_perms;
 	ps_process_pattern($1, jabberd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 jabberd_t:process ptrace;
+		allow $1 jabberd_router_t:process ptrace;
+	')
 
-	allow $1 jabberd_router_t:process { ptrace signal_perms };
+	allow $1 jabberd_router_t:process signal_perms;
 	ps_process_pattern($1, jabberd_router_t)
 
 	init_labeled_script_domtrans($1, jabberd_initrc_exec_t)
diff -up serefpolicy-3.10.0/policy/modules/services/kerberos.if.ptrace serefpolicy-3.10.0/policy/modules/services/kerberos.if
--- serefpolicy-3.10.0/policy/modules/services/kerberos.if.ptrace	2011-11-04 16:32:07.383065795 -0400
+++ serefpolicy-3.10.0/policy/modules/services/kerberos.if	2011-11-04 16:32:07.861066710 -0400
@@ -340,13 +340,18 @@ interface(`kerberos_admin',`
 		type krb5kdc_var_run_t, krb5_host_rcache_t;
 	')
 
-	allow $1 kadmind_t:process { ptrace signal_perms };
+	allow $1 kadmind_t:process signal_perms;
 	ps_process_pattern($1, kadmind_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 kadmind_t:process ptrace;
+		allow $1 krb5kdc_t:process ptrace;
+		allow $1 kpropd_t:process ptrace;
+	')
 
-	allow $1 krb5kdc_t:process { ptrace signal_perms };
+	allow $1 krb5kdc_t:process signal_perms;
 	ps_process_pattern($1, krb5kdc_t)
 
-	allow $1 kpropd_t:process { ptrace signal_perms };
+	allow $1 kpropd_t:process signal_perms;
 	ps_process_pattern($1, kpropd_t)
 
 	init_labeled_script_domtrans($1, kerberos_initrc_exec_t)
diff -up serefpolicy-3.10.0/policy/modules/services/kerneloops.if.ptrace serefpolicy-3.10.0/policy/modules/services/kerneloops.if
--- serefpolicy-3.10.0/policy/modules/services/kerneloops.if.ptrace	2011-11-04 16:32:07.385065797 -0400
+++ serefpolicy-3.10.0/policy/modules/services/kerneloops.if	2011-11-04 16:32:07.862066712 -0400
@@ -101,8 +101,11 @@ interface(`kerneloops_admin',`
 		type kerneloops_t, kerneloops_initrc_exec_t, kerneloops_tmp_t;
 	')
 
-	allow $1 kerneloops_t:process { ptrace signal_perms };
+	allow $1 kerneloops_t:process signal_perms;
 	ps_process_pattern($1, kerneloops_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 kerneloops_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, kerneloops_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ksmtuned.if.ptrace serefpolicy-3.10.0/policy/modules/services/ksmtuned.if
--- serefpolicy-3.10.0/policy/modules/services/ksmtuned.if.ptrace	2011-11-04 16:32:07.388065805 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ksmtuned.if	2011-11-04 16:32:07.863066713 -0400
@@ -58,8 +58,11 @@ interface(`ksmtuned_admin',`
 		type ksmtuned_t, ksmtuned_var_run_t, ksmtuned_initrc_exec_t;
 	')
 
-	allow $1 ksmtuned_t:process { ptrace signal_perms };
+	allow $1 ksmtuned_t:process signal_perms;
 	ps_process_pattern($1, ksmtuned_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ksmtuned_t:process ptrace;
+	')
 
 	files_list_pids($1)
 	admin_pattern($1, ksmtuned_var_run_t)
diff -up serefpolicy-3.10.0/policy/modules/services/ksmtuned.te.ptrace serefpolicy-3.10.0/policy/modules/services/ksmtuned.te
--- serefpolicy-3.10.0/policy/modules/services/ksmtuned.te.ptrace	2011-11-04 16:32:07.389065807 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ksmtuned.te	2011-11-04 16:32:07.863066713 -0400
@@ -23,7 +23,7 @@ files_pid_file(ksmtuned_var_run_t)
 # ksmtuned local policy
 #
 
-allow ksmtuned_t self:capability { sys_ptrace sys_tty_config };
+allow ksmtuned_t self:capability sys_tty_config;
 allow ksmtuned_t self:fifo_file rw_file_perms;
 
 manage_dirs_pattern(ksmtuned_t, ksmtuned_log_t, ksmtuned_log_t)
diff -up serefpolicy-3.10.0/policy/modules/services/l2tpd.if.ptrace serefpolicy-3.10.0/policy/modules/services/l2tpd.if
--- serefpolicy-3.10.0/policy/modules/services/l2tpd.if.ptrace	2011-11-04 16:32:07.391065810 -0400
+++ serefpolicy-3.10.0/policy/modules/services/l2tpd.if	2011-11-04 16:32:07.864066715 -0400
@@ -101,8 +101,11 @@ interface(`l2tpd_admin',`
 	type l2tpd_var_run_t;
 	')
 
-	allow $1 l2tpd_t:process { ptrace signal_perms };
+	allow $1 l2tpd_t:process signal_perms;
 	ps_process_pattern($1, l2tpd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 l2tpd_t:process ptrace;
+	')
 
 	l2tpd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ldap.if.ptrace serefpolicy-3.10.0/policy/modules/services/ldap.if
--- serefpolicy-3.10.0/policy/modules/services/ldap.if.ptrace	2011-11-04 16:32:07.393065814 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ldap.if	2011-11-04 16:32:07.865066717 -0400
@@ -174,8 +174,11 @@ interface(`ldap_admin',`
 		type slapd_initrc_exec_t;
 	')
 
-	allow $1 slapd_t:process { ptrace signal_perms };
+	allow $1 slapd_t:process signal_perms;
 	ps_process_pattern($1, slapd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 slapd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, slapd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/lircd.if.ptrace serefpolicy-3.10.0/policy/modules/services/lircd.if
--- serefpolicy-3.10.0/policy/modules/services/lircd.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/lircd.if	2011-11-04 16:32:07.866066719 -0400
@@ -80,8 +80,11 @@ interface(`lircd_admin',`
 		type lircd_initrc_exec_t, lircd_etc_t;
 	')
 
-	allow $1 lircd_t:process { ptrace signal_perms };
+	allow $1 lircd_t:process signal_perms;
 	ps_process_pattern($1, lircd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 lircd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, lircd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/lldpad.if.ptrace serefpolicy-3.10.0/policy/modules/services/lldpad.if
--- serefpolicy-3.10.0/policy/modules/services/lldpad.if.ptrace	2011-11-04 16:32:07.398065822 -0400
+++ serefpolicy-3.10.0/policy/modules/services/lldpad.if	2011-11-04 16:32:07.867066721 -0400
@@ -180,8 +180,11 @@ interface(`lldpad_admin',`
 	type lldpad_var_run_t;
 	')
 
-	allow $1 lldpad_t:process { ptrace signal_perms };
+	allow $1 lldpad_t:process signal_perms;
 	ps_process_pattern($1, lldpad_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 lldpad_t:process ptrace;
+	')
 
 	lldpad_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/lpd.if.ptrace serefpolicy-3.10.0/policy/modules/services/lpd.if
--- serefpolicy-3.10.0/policy/modules/services/lpd.if.ptrace	2011-11-04 16:32:07.399065825 -0400
+++ serefpolicy-3.10.0/policy/modules/services/lpd.if	2011-11-04 16:32:07.868066723 -0400
@@ -28,7 +28,10 @@ interface(`lpd_role',`
 	dontaudit lpr_t $2:unix_stream_socket { read write };
 
 	ps_process_pattern($2, lpr_t)
-	allow $2 lpr_t:process { ptrace signal_perms };
+	allow $2 lpr_t:process signal_perms;
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 lpr_t:process ptrace;
+	')
 
 	optional_policy(`
 		cups_read_config($2)
diff -up serefpolicy-3.10.0/policy/modules/services/mailscanner.if.ptrace serefpolicy-3.10.0/policy/modules/services/mailscanner.if
--- serefpolicy-3.10.0/policy/modules/services/mailscanner.if.ptrace	2011-11-04 16:32:07.404065835 -0400
+++ serefpolicy-3.10.0/policy/modules/services/mailscanner.if	2011-11-04 16:32:07.869066724 -0400
@@ -47,8 +47,11 @@ interface(`mailscanner_admin',`
 	role_transition $2 mscan_initrc_exec_t system_r;
 	allow $2 system_r;
 
-	allow $1 mscan_t:process { ptrace signal_perms };
+	allow $1 mscan_t:process signal_perms;
 	ps_process_pattern($1, mscan_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 mscan_t:process ptrace;
+	')
 
 	admin_pattern($1, mscan_etc_t)
 	files_list_etc($1)
diff -up serefpolicy-3.10.0/policy/modules/services/matahari.te.ptrace serefpolicy-3.10.0/policy/modules/services/matahari.te
--- serefpolicy-3.10.0/policy/modules/services/matahari.te.ptrace	2011-11-04 16:32:07.406065839 -0400
+++ serefpolicy-3.10.0/policy/modules/services/matahari.te	2011-11-04 16:32:07.870066725 -0400
@@ -25,9 +25,6 @@ files_pid_file(matahari_var_run_t)
 #
 # matahari_hostd local policy
 #
-
-allow matahari_hostd_t self:capability sys_ptrace;
-
 kernel_read_network_state(matahari_hostd_t)
 
 dev_read_sysfs(matahari_hostd_t)
diff -up serefpolicy-3.10.0/policy/modules/services/memcached.if.ptrace serefpolicy-3.10.0/policy/modules/services/memcached.if
--- serefpolicy-3.10.0/policy/modules/services/memcached.if.ptrace	2011-11-04 16:32:07.407065841 -0400
+++ serefpolicy-3.10.0/policy/modules/services/memcached.if	2011-11-04 16:32:07.871066727 -0400
@@ -59,8 +59,11 @@ interface(`memcached_admin',`
 		type memcached_t, memcached_initrc_exec_t, memcached_var_run_t;
 	')
 
-	allow $1 memcached_t:process { ptrace signal_perms };
+	allow $1 memcached_t:process signal_perms;
 	ps_process_pattern($1, memcached_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 memcached_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, memcached_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/mock.if.ptrace serefpolicy-3.10.0/policy/modules/services/mock.if
--- serefpolicy-3.10.0/policy/modules/services/mock.if.ptrace	2011-11-04 16:32:07.412065851 -0400
+++ serefpolicy-3.10.0/policy/modules/services/mock.if	2011-11-04 16:32:07.872066730 -0400
@@ -245,7 +245,10 @@ interface(`mock_role',`
 	mock_run($2, $1)
 
 	ps_process_pattern($2, mock_t)
-	allow $2 mock_t:process { ptrace signal_perms };
+	allow $2 mock_t:process signal_perms;
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 mock_t:process ptrace;
+	')
 ')
 
 #######################################
@@ -289,10 +292,14 @@ interface(`mock_admin',`
 		type mock_build_t, mock_etc_t, mock_tmp_t;
 	')
 
-	allow $1 mock_t:process { ptrace signal_perms };
+	allow $1 mock_t:process signal_perms;
 	ps_process_pattern($1, mock_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 mock_t:process ptrace;
+		allow $1 mock_build_t:process ptrace;
+	')
 
-	allow $1 mock_build_t:process { ptrace signal_perms };
+	allow $1 mock_build_t:process signal_perms;
 	ps_process_pattern($1, mock_build_t)
 
 	files_list_var_lib($1)
diff -up serefpolicy-3.10.0/policy/modules/services/mock.te.ptrace serefpolicy-3.10.0/policy/modules/services/mock.te
--- serefpolicy-3.10.0/policy/modules/services/mock.te.ptrace	2011-11-04 16:32:07.412065851 -0400
+++ serefpolicy-3.10.0/policy/modules/services/mock.te	2011-11-04 16:32:07.873066732 -0400
@@ -41,7 +41,7 @@ files_config_file(mock_etc_t)
 # mock local policy
 #
 
-allow mock_t self:capability { sys_admin setfcap setuid sys_ptrace sys_chroot chown audit_write dac_override sys_nice mknod fsetid setgid fowner };
+allow mock_t self:capability { sys_admin setfcap setuid sys_chroot chown audit_write dac_override sys_nice mknod fsetid setgid fowner };
 allow mock_t self:process { siginh noatsecure signal_perms transition rlimitinh setsched setpgid };
 # Needed because mock can run java and mono withing build environment
 allow mock_t self:process { execmem execstack };
@@ -164,7 +164,7 @@ optional_policy(`
 #
 # mock_build local policy
 #
-allow mock_build_t self:capability { sys_admin setfcap setuid sys_ptrace sys_chroot chown dac_override sys_nice mknod fsetid setgid fowner };
+allow mock_build_t self:capability { sys_admin setfcap setuid sys_chroot chown dac_override sys_nice mknod fsetid setgid fowner };
 dontaudit mock_build_t self:capability audit_write;
 allow mock_build_t self:process { fork setsched setpgid signal_perms };
 allow mock_build_t self:netlink_audit_socket { create_socket_perms nlmsg_relay };
diff -up serefpolicy-3.10.0/policy/modules/services/mojomojo.if.ptrace serefpolicy-3.10.0/policy/modules/services/mojomojo.if
--- serefpolicy-3.10.0/policy/modules/services/mojomojo.if.ptrace	2011-11-04 16:32:07.414065855 -0400
+++ serefpolicy-3.10.0/policy/modules/services/mojomojo.if	2011-11-04 16:32:07.873066732 -0400
@@ -24,8 +24,11 @@ interface(`mojomojo_admin',`
 		type httpd_mojomojo_script_exec_t;
 	')
 
-	allow $1 httpd_mojomojo_script_t:process { ptrace signal_perms };
+	allow $1 httpd_mojomojo_script_t:process signal_perms;
 	ps_process_pattern($1, httpd_mojomojo_script_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 httpd_mojomo_script_t:process ptrace;
+	')
 
 	files_list_tmp($1)
 	admin_pattern($1, httpd_mojomojo_tmp_t)
diff -up serefpolicy-3.10.0/policy/modules/services/mpd.if.ptrace serefpolicy-3.10.0/policy/modules/services/mpd.if
--- serefpolicy-3.10.0/policy/modules/services/mpd.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/mpd.if	2011-11-04 16:32:07.874066734 -0400
@@ -244,8 +244,11 @@ interface(`mpd_admin',`
 		type mpd_tmpfs_t;
 	')
 
-	allow $1 mpd_t:process { ptrace signal_perms };
+	allow $1 mpd_t:process signal_perms;
 	ps_process_pattern($1, mpd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 mpd_t:process ptrace;
+	')
 
 	mpd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/munin.if.ptrace serefpolicy-3.10.0/policy/modules/services/munin.if
--- serefpolicy-3.10.0/policy/modules/services/munin.if.ptrace	2011-11-04 16:32:07.421065866 -0400
+++ serefpolicy-3.10.0/policy/modules/services/munin.if	2011-11-04 16:32:07.875066736 -0400
@@ -183,8 +183,11 @@ interface(`munin_admin',`
 		type httpd_munin_content_t, munin_initrc_exec_t;
 	')
 
-	allow $1 munin_t:process { ptrace signal_perms };
+	allow $1 munin_t:process signal_perms;
 	ps_process_pattern($1, munin_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 munin_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, munin_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/mysql.if.ptrace serefpolicy-3.10.0/policy/modules/services/mysql.if
--- serefpolicy-3.10.0/policy/modules/services/mysql.if.ptrace	2011-11-04 16:32:07.423065872 -0400
+++ serefpolicy-3.10.0/policy/modules/services/mysql.if	2011-11-04 16:32:07.876066738 -0400
@@ -389,8 +389,11 @@ interface(`mysql_admin',`
 		type mysqld_etc_t;
 	')
 
-	allow $1 mysqld_t:process { ptrace signal_perms };
+	allow $1 mysqld_t:process signal_perms;
 	ps_process_pattern($1, mysqld_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 mysqld_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, mysqld_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/mysql.te.ptrace serefpolicy-3.10.0/policy/modules/services/mysql.te
--- serefpolicy-3.10.0/policy/modules/services/mysql.te.ptrace	2011-11-04 16:32:07.423065872 -0400
+++ serefpolicy-3.10.0/policy/modules/services/mysql.te	2011-11-04 16:32:07.877066740 -0400
@@ -158,7 +158,6 @@ optional_policy(`
 #
 
 allow mysqld_safe_t self:capability { chown dac_override fowner kill };
-dontaudit mysqld_safe_t self:capability sys_ptrace;
 allow mysqld_safe_t self:process { setsched getsched setrlimit };
 allow mysqld_safe_t self:fifo_file rw_fifo_file_perms;
 
diff -up serefpolicy-3.10.0/policy/modules/services/nagios.if.ptrace serefpolicy-3.10.0/policy/modules/services/nagios.if
--- serefpolicy-3.10.0/policy/modules/services/nagios.if.ptrace	2011-11-04 16:32:07.425065875 -0400
+++ serefpolicy-3.10.0/policy/modules/services/nagios.if	2011-11-04 16:32:07.878066742 -0400
@@ -225,8 +225,11 @@ interface(`nagios_admin',`
 		type nagios_etc_t, nrpe_etc_t, nagios_spool_t;
 	')
 
-	allow $1 nagios_t:process { ptrace signal_perms };
+	allow $1 nagios_t:process signal_perms;
 	ps_process_pattern($1, nagios_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 nagios_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, nagios_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/networkmanager.te.ptrace serefpolicy-3.10.0/policy/modules/services/networkmanager.te
--- serefpolicy-3.10.0/policy/modules/services/networkmanager.te.ptrace	2011-11-04 16:32:07.430065884 -0400
+++ serefpolicy-3.10.0/policy/modules/services/networkmanager.te	2011-11-04 16:32:07.879066744 -0400
@@ -44,13 +44,17 @@ init_system_domain(wpa_cli_t, wpa_cli_ex
 
 # networkmanager will ptrace itself if gdb is installed
 # and it receives a unexpected signal (rh bug #204161)
-allow NetworkManager_t self:capability { chown fsetid kill setgid setuid sys_admin sys_nice sys_ptrace dac_override net_admin net_raw net_bind_service ipc_lock };
-dontaudit NetworkManager_t self:capability { sys_tty_config sys_ptrace };
+allow NetworkManager_t self:capability { chown fsetid kill setgid setuid sys_admin sys_nice dac_override net_admin net_raw net_bind_service ipc_lock };
+dontaudit NetworkManager_t self:capability sys_tty_config;
 ifdef(`hide_broken_symptoms',`
 	# caused by some bogus kernel code
 	dontaudit NetworkManager_t self:capability sys_module;
 ')
-allow NetworkManager_t self:process { ptrace getcap setcap setpgid getsched setsched signal_perms };
+allow NetworkManager_t self:process { getcap setcap setpgid getsched setsched signal_perms };
+tunable_policy(`deny_ptrace',`',`
+	allow NetworkManager_t self:process ptrace;
+')
+
 allow NetworkManager_t self:fifo_file rw_fifo_file_perms;
 allow NetworkManager_t self:unix_dgram_socket { sendto create_socket_perms };
 allow NetworkManager_t self:unix_stream_socket create_stream_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/nis.if.ptrace serefpolicy-3.10.0/policy/modules/services/nis.if
--- serefpolicy-3.10.0/policy/modules/services/nis.if.ptrace	2011-11-04 16:32:07.431065885 -0400
+++ serefpolicy-3.10.0/policy/modules/services/nis.if	2011-11-04 16:32:07.880066745 -0400
@@ -390,16 +390,22 @@ interface(`nis_admin',`
 		type ypbind_initrc_exec_t, nis_initrc_exec_t, ypxfr_t;
 	')
 
-	allow $1 ypbind_t:process { ptrace signal_perms };
+	allow $1 ypbind_t:process signal_perms;
 	ps_process_pattern($1, ypbind_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ypbind_t:process ptrace;
+		allow $1 yppasswdd_t:process ptrace;
+		allow $1 ypserv_t:process ptrace;
+		allow $1 ypxfr_t:process ptrace;
+	')
 
-	allow $1 yppasswdd_t:process { ptrace signal_perms };
+	allow $1 yppasswdd_t:process signal_perms;
 	ps_process_pattern($1, yppasswdd_t)
 
-	allow $1 ypserv_t:process { ptrace signal_perms };
+	allow $1 ypserv_t:process signal_perms;
 	ps_process_pattern($1, ypserv_t)
 
-	allow $1 ypxfr_t:process { ptrace signal_perms };
+	allow $1 ypxfr_t:process signal_perms;
 	ps_process_pattern($1, ypxfr_t)
 
 	nis_initrc_domtrans($1)
diff -up serefpolicy-3.10.0/policy/modules/services/nscd.if.ptrace serefpolicy-3.10.0/policy/modules/services/nscd.if
--- serefpolicy-3.10.0/policy/modules/services/nscd.if.ptrace	2011-11-04 16:32:07.435065895 -0400
+++ serefpolicy-3.10.0/policy/modules/services/nscd.if	2011-11-04 16:32:07.882066748 -0400
@@ -321,8 +321,11 @@ interface(`nscd_admin',`
 		type nscd_initrc_exec_t;
 	')
 
-	allow $1 nscd_t:process { ptrace signal_perms };
+	allow $1 nscd_t:process signal_perms;
 	ps_process_pattern($1, nscd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 nscd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, nscd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/nscd.te.ptrace serefpolicy-3.10.0/policy/modules/services/nscd.te
--- serefpolicy-3.10.0/policy/modules/services/nscd.te.ptrace	2011-11-04 16:32:07.436065896 -0400
+++ serefpolicy-3.10.0/policy/modules/services/nscd.te	2011-11-04 16:32:07.882066748 -0400
@@ -40,7 +40,7 @@ logging_log_file(nscd_log_t)
 # Local policy
 #
 
-allow nscd_t self:capability { kill setgid setuid sys_ptrace };
+allow nscd_t self:capability { kill setgid setuid };
 dontaudit nscd_t self:capability sys_tty_config;
 allow nscd_t self:process { getattr getcap setcap setsched signal_perms };
 allow nscd_t self:fifo_file read_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/nslcd.if.ptrace serefpolicy-3.10.0/policy/modules/services/nslcd.if
--- serefpolicy-3.10.0/policy/modules/services/nslcd.if.ptrace	2011-11-04 16:32:07.437065898 -0400
+++ serefpolicy-3.10.0/policy/modules/services/nslcd.if	2011-11-04 16:32:07.883066751 -0400
@@ -98,7 +98,10 @@ interface(`nslcd_admin',`
 	')
 
 	ps_process_pattern($1, nslcd_t)
-	allow $1 nslcd_t:process { ptrace signal_perms };
+	allow $1 nslcd_t:process signal_perms;
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 nslcd_t:process ptrace;
+	')
 
 	# Allow nslcd_t to restart the apache service
 	nslcd_initrc_domtrans($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ntp.if.ptrace serefpolicy-3.10.0/policy/modules/services/ntp.if
--- serefpolicy-3.10.0/policy/modules/services/ntp.if.ptrace	2011-11-04 16:32:07.440065904 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ntp.if	2011-11-04 16:32:07.884066754 -0400
@@ -204,8 +204,11 @@ interface(`ntp_admin',`
 		type ntpd_key_t, ntpd_var_run_t, ntpd_initrc_exec_t;
 	')
 
-	allow $1 ntpd_t:process { ptrace signal_perms };
+	allow $1 ntpd_t:process signal_perms;
 	ps_process_pattern($1, ntpd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ntpd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, ntpd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/oident.if.ptrace serefpolicy-3.10.0/policy/modules/services/oident.if
--- serefpolicy-3.10.0/policy/modules/services/oident.if.ptrace	2011-11-04 16:32:07.447065918 -0400
+++ serefpolicy-3.10.0/policy/modules/services/oident.if	2011-11-04 16:32:07.885066756 -0400
@@ -89,8 +89,11 @@ interface(`oident_admin',`
 		type oidentd_t, oidentd_initrc_exec_t, oidentd_config_t;
 	')
 
-	allow $1 oidentd_t:process { ptrace signal_perms };
+	allow $1 oidentd_t:process signal_perms;
 	ps_process_pattern($1, oidentd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 oidentd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, oidentd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/openvpn.if.ptrace serefpolicy-3.10.0/policy/modules/services/openvpn.if
--- serefpolicy-3.10.0/policy/modules/services/openvpn.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/openvpn.if	2011-11-04 16:32:07.886066757 -0400
@@ -144,8 +144,11 @@ interface(`openvpn_admin',`
 		type openvpn_var_run_t, openvpn_initrc_exec_t;
 	')
 
-	allow $1 openvpn_t:process { ptrace signal_perms };
+	allow $1 openvpn_t:process signal_perms;
 	ps_process_pattern($1, openvpn_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 openvpn_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, openvpn_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/pads.if.ptrace serefpolicy-3.10.0/policy/modules/services/pads.if
--- serefpolicy-3.10.0/policy/modules/services/pads.if.ptrace	2011-11-04 16:32:07.451065925 -0400
+++ serefpolicy-3.10.0/policy/modules/services/pads.if	2011-11-04 16:32:07.887066759 -0400
@@ -31,8 +31,11 @@ interface(`pads_admin',`
 		type pads_var_run_t;
 	')
 
-	allow $1 pads_t:process { ptrace signal_perms };
+	allow $1 pads_t:process signal_perms;
 	ps_process_pattern($1, pads_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 pads_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, pads_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/pingd.if.ptrace serefpolicy-3.10.0/policy/modules/services/pingd.if
--- serefpolicy-3.10.0/policy/modules/services/pingd.if.ptrace	2011-11-04 16:32:07.455065931 -0400
+++ serefpolicy-3.10.0/policy/modules/services/pingd.if	2011-11-04 16:32:07.888066761 -0400
@@ -80,8 +80,11 @@ interface(`pingd_admin',`
 		type pingd_initrc_exec_t;
 	')
 
-	allow $1 pingd_t:process { ptrace signal_perms };
+	allow $1 pingd_t:process signal_perms;
 	ps_process_pattern($1, pingd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 pingd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, pingd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/piranha.te.ptrace serefpolicy-3.10.0/policy/modules/services/piranha.te
--- serefpolicy-3.10.0/policy/modules/services/piranha.te.ptrace	2011-11-04 16:32:07.458065938 -0400
+++ serefpolicy-3.10.0/policy/modules/services/piranha.te	2011-11-04 16:32:07.889066763 -0400
@@ -65,7 +65,11 @@ init_domtrans_script(piranha_fos_t)
 #
 
 allow piranha_web_t self:capability { setuid sys_nice kill setgid };
-allow piranha_web_t self:process { getsched setsched signal signull ptrace };
+allow piranha_web_t self:process { getsched setsched signal signull };
+tunable_policy(`deny_ptrace',`',`
+	allow piranha_web_t self:process ptrace;
+')
+
 allow piranha_web_t self:rawip_socket create_socket_perms;
 allow piranha_web_t self:netlink_route_socket r_netlink_socket_perms;
 allow piranha_web_t self:sem create_sem_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/plymouthd.if.ptrace serefpolicy-3.10.0/policy/modules/services/plymouthd.if
--- serefpolicy-3.10.0/policy/modules/services/plymouthd.if.ptrace	2011-11-04 16:32:07.460065942 -0400
+++ serefpolicy-3.10.0/policy/modules/services/plymouthd.if	2011-11-04 16:32:07.890066765 -0400
@@ -291,8 +291,11 @@ interface(`plymouthd_admin',`
 		type plymouthd_var_run_t;
 	')
 
-	allow $1 plymouthd_t:process { ptrace signal_perms };
+	allow $1 plymouthd_t:process signal_perms;
 	ps_process_pattern($1, plymouthd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 plymouthd_t:process ptrace;
+	')
 
 	files_list_var_lib($1)
 	admin_pattern($1, plymouthd_spool_t)
diff -up serefpolicy-3.10.0/policy/modules/services/policykit.te.ptrace serefpolicy-3.10.0/policy/modules/services/policykit.te
--- serefpolicy-3.10.0/policy/modules/services/policykit.te.ptrace	2011-11-04 16:32:07.463065948 -0400
+++ serefpolicy-3.10.0/policy/modules/services/policykit.te	2011-11-04 16:32:07.890066765 -0400
@@ -38,7 +38,7 @@ files_pid_file(policykit_var_run_t)
 # policykit local policy
 #
 
-allow policykit_t self:capability { dac_override dac_read_search setgid setuid sys_ptrace };
+allow policykit_t self:capability { dac_override dac_read_search setgid setuid };
 allow policykit_t self:process { getsched getattr signal };
 allow policykit_t self:fifo_file rw_fifo_file_perms;
 allow policykit_t self:unix_dgram_socket create_socket_perms;
@@ -235,7 +235,7 @@ optional_policy(`
 # polkit_resolve local policy
 #
 
-allow policykit_resolve_t self:capability { setuid sys_nice sys_ptrace };
+allow policykit_resolve_t self:capability { setuid sys_nice };
 allow policykit_resolve_t self:process getattr;
 allow policykit_resolve_t self:fifo_file rw_fifo_file_perms;
 
diff -up serefpolicy-3.10.0/policy/modules/services/polipo.if.ptrace serefpolicy-3.10.0/policy/modules/services/polipo.if
--- serefpolicy-3.10.0/policy/modules/services/polipo.if.ptrace	2011-11-04 16:32:07.464065950 -0400
+++ serefpolicy-3.10.0/policy/modules/services/polipo.if	2011-11-04 16:32:07.891066767 -0400
@@ -32,8 +32,11 @@ template(`polipo_role',`
 	# Policy
 	#
 
-	allow $2 polipo_session_t:process { ptrace signal_perms };
+	allow $2 polipo_session_t:process signal_perms;
 	ps_process_pattern($2, polipo_session_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 polipo_session_t:process ptrace;
+	')
 
 	tunable_policy(`polipo_session_users',`
 		domtrans_pattern($2, polipo_exec_t, polipo_session_t)
@@ -163,8 +166,11 @@ interface(`polipo_admin',`
 		type polipo_etc_t, polipo_log_t, polipo_initrc_exec_t;
 	')
 
-	allow $1 polipo_t:process { ptrace signal_perms };
+	allow $1 polipo_t:process signal_perms;
 	ps_process_pattern($1, polipo_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 polipo_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, polipo_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/portreserve.if.ptrace serefpolicy-3.10.0/policy/modules/services/portreserve.if
--- serefpolicy-3.10.0/policy/modules/services/portreserve.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/portreserve.if	2011-11-04 16:32:07.892066768 -0400
@@ -104,8 +104,11 @@ interface(`portreserve_admin',`
 		type portreserve_initrc_exec_t;
 	')
 
-	allow $1 portreserve_t:process { ptrace signal_perms };
+	allow $1 portreserve_t:process signal_perms;
 	ps_process_pattern($1, portreserve_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 portreserve_t:process ptrace;
+	')
 
 	portreserve_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/postfix.if.ptrace serefpolicy-3.10.0/policy/modules/services/postfix.if
--- serefpolicy-3.10.0/policy/modules/services/postfix.if.ptrace	2011-11-04 16:32:07.469065960 -0400
+++ serefpolicy-3.10.0/policy/modules/services/postfix.if	2011-11-04 16:32:07.894066771 -0400
@@ -729,25 +729,36 @@ interface(`postfix_admin',`
 		type postfix_smtpd_t, postfix_var_run_t;
 	')
 
-	allow $1 postfix_bounce_t:process { ptrace signal_perms };
+	allow $1 postfix_bounce_t:process signal_perms;
 	ps_process_pattern($1, postfix_bounce_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 postfix_bounce_t:process ptrace;
+	')
 
-	allow $1 postfix_cleanup_t:process { ptrace signal_perms };
+	allow $1 postfix_cleanup_t:process signal_perms;
 	ps_process_pattern($1, postfix_cleanup_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 postfix_cleanup_t:process ptrace;
+		allow $1 postfix_local_t:process ptrace;
+		allow $1 postfix_master_t:process ptrace;
+		allow $1 postfix_pickup_t:process ptrace;
+		allow $1 postfix_qmgr_t:process ptrace;
+		allow $1 postfix_smtpd_t:process ptrace;
+	')
 
-	allow $1 postfix_local_t:process { ptrace signal_perms };
+	allow $1 postfix_local_t:process signal_perms;
 	ps_process_pattern($1, postfix_local_t)
 
-	allow $1 postfix_master_t:process { ptrace signal_perms };
+	allow $1 postfix_master_t:process signal_perms;
 	ps_process_pattern($1, postfix_master_t)
 
-	allow $1 postfix_pickup_t:process { ptrace signal_perms };
+	allow $1 postfix_pickup_t:process signal_perms;
 	ps_process_pattern($1, postfix_pickup_t)
 
-	allow $1 postfix_qmgr_t:process { ptrace signal_perms };
+	allow $1 postfix_qmgr_t:process signal_perms;
 	ps_process_pattern($1, postfix_qmgr_t)
 
-	allow $1 postfix_smtpd_t:process { ptrace signal_perms };
+	allow $1 postfix_smtpd_t:process signal_perms;
 	ps_process_pattern($1, postfix_smtpd_t)
 
 	postfix_run_map($1, $2)
diff -up serefpolicy-3.10.0/policy/modules/services/postfixpolicyd.if.ptrace serefpolicy-3.10.0/policy/modules/services/postfixpolicyd.if
--- serefpolicy-3.10.0/policy/modules/services/postfixpolicyd.if.ptrace	2011-11-04 16:32:07.471065963 -0400
+++ serefpolicy-3.10.0/policy/modules/services/postfixpolicyd.if	2011-11-04 16:32:07.894066771 -0400
@@ -23,8 +23,11 @@ interface(`postfixpolicyd_admin',`
 		type postfix_policyd_var_run_t, postfix_policyd_initrc_exec_t;
 	')
 
-	allow $1 postfix_policyd_t:process { ptrace signal_perms };
+	allow $1 postfix_policyd_t:process signal_perms;
 	ps_process_pattern($1, postfix_policyd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 postfix_policyd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, postfix_policyd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/postgresql.if.ptrace serefpolicy-3.10.0/policy/modules/services/postgresql.if
--- serefpolicy-3.10.0/policy/modules/services/postgresql.if.ptrace	2011-11-04 16:32:07.474065969 -0400
+++ serefpolicy-3.10.0/policy/modules/services/postgresql.if	2011-11-04 16:32:07.895066774 -0400
@@ -541,8 +541,11 @@ interface(`postgresql_admin',`
 
 	typeattribute $1 sepgsql_admin_type;
 
-	allow $1 postgresql_t:process { ptrace signal_perms };
+	allow $1 postgresql_t:process signal_perms;
 	ps_process_pattern($1, postgresql_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 postgresql_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, postgresql_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/postgrey.if.ptrace serefpolicy-3.10.0/policy/modules/services/postgrey.if
--- serefpolicy-3.10.0/policy/modules/services/postgrey.if.ptrace	2011-11-04 16:32:07.476065973 -0400
+++ serefpolicy-3.10.0/policy/modules/services/postgrey.if	2011-11-04 16:32:07.896066776 -0400
@@ -62,8 +62,11 @@ interface(`postgrey_admin',`
 		type postgrey_var_lib_t, postgrey_var_run_t;
 	')
 
-	allow $1 postgrey_t:process { ptrace signal_perms };
+	allow $1 postgrey_t:process signal_perms;
 	ps_process_pattern($1, postgrey_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 postgrey_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, postgrey_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ppp.if.ptrace serefpolicy-3.10.0/policy/modules/services/ppp.if
--- serefpolicy-3.10.0/policy/modules/services/ppp.if.ptrace	2011-11-04 16:32:07.478065975 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ppp.if	2011-11-04 16:32:07.897066778 -0400
@@ -386,10 +386,14 @@ interface(`ppp_admin',`
 		type pppd_initrc_exec_t, pppd_etc_rw_t;
 	')
 
-	allow $1 pppd_t:process { ptrace signal_perms };
+	allow $1 pppd_t:process signal_perms;
 	ps_process_pattern($1, pppd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 pppd_t:process ptrace;
+		allow $1 pptp_t:process ptrace;
+	')
 
-	allow $1 pptp_t:process { ptrace signal_perms };
+	allow $1 pptp_t:process signal_perms;
 	ps_process_pattern($1, pptp_t)
 
 	ppp_initrc_domtrans($1)
diff -up serefpolicy-3.10.0/policy/modules/services/prelude.if.ptrace serefpolicy-3.10.0/policy/modules/services/prelude.if
--- serefpolicy-3.10.0/policy/modules/services/prelude.if.ptrace	2011-11-04 16:32:07.480065980 -0400
+++ serefpolicy-3.10.0/policy/modules/services/prelude.if	2011-11-04 16:32:07.898066780 -0400
@@ -118,13 +118,18 @@ interface(`prelude_admin',`
 		type prelude_lml_t;
 	')
 
-	allow $1 prelude_t:process { ptrace signal_perms };
+	allow $1 prelude_t:process signal_perms;
 	ps_process_pattern($1, prelude_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 prelude_t:process ptrace;
+		allow $1 prelude_audisp_t:process ptrace;
+		allow $1 prelude_lml_t:process ptrace;
+	')
 
-	allow $1 prelude_audisp_t:process { ptrace signal_perms };
+	allow $1 prelude_audisp_t:process signal_perms;
 	ps_process_pattern($1, prelude_audisp_t)
 
-	allow $1 prelude_lml_t:process { ptrace signal_perms };
+	allow $1 prelude_lml_t:process signal_perms;
 	ps_process_pattern($1, prelude_lml_t)
 
 	init_labeled_script_domtrans($1, prelude_initrc_exec_t)
diff -up serefpolicy-3.10.0/policy/modules/services/privoxy.if.ptrace serefpolicy-3.10.0/policy/modules/services/privoxy.if
--- serefpolicy-3.10.0/policy/modules/services/privoxy.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/privoxy.if	2011-11-04 16:32:07.899066782 -0400
@@ -23,8 +23,11 @@ interface(`privoxy_admin',`
 		type privoxy_etc_rw_t, privoxy_var_run_t;
 	')
 
-	allow $1 privoxy_t:process { ptrace signal_perms };
+	allow $1 privoxy_t:process signal_perms;
 	ps_process_pattern($1, privoxy_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 privoxy_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, privoxy_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/psad.if.ptrace serefpolicy-3.10.0/policy/modules/services/psad.if
--- serefpolicy-3.10.0/policy/modules/services/psad.if.ptrace	2011-11-04 16:32:07.484065988 -0400
+++ serefpolicy-3.10.0/policy/modules/services/psad.if	2011-11-04 16:32:07.900066784 -0400
@@ -295,8 +295,11 @@ interface(`psad_admin',`
 		type psad_tmp_t;
 	')
 
-	allow $1 psad_t:process { ptrace signal_perms };
+	allow $1 psad_t:process signal_perms;
 	ps_process_pattern($1, psad_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 psad_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, psad_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/puppet.te.ptrace serefpolicy-3.10.0/policy/modules/services/puppet.te
--- serefpolicy-3.10.0/policy/modules/services/puppet.te.ptrace	2011-11-04 16:32:07.488065995 -0400
+++ serefpolicy-3.10.0/policy/modules/services/puppet.te	2011-11-04 16:32:07.901066786 -0400
@@ -62,7 +62,7 @@ files_tmp_file(puppetmaster_tmp_t)
 # Puppet personal policy
 #
 
-allow puppet_t self:capability { fowner fsetid setuid setgid dac_override sys_nice sys_ptrace sys_tty_config };
+allow puppet_t self:capability { fowner fsetid setuid setgid dac_override sys_nice sys_tty_config };
 allow puppet_t self:process { signal signull getsched setsched };
 allow puppet_t self:fifo_file rw_fifo_file_perms;
 allow puppet_t self:netlink_route_socket create_netlink_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/pyzor.if.ptrace serefpolicy-3.10.0/policy/modules/services/pyzor.if
--- serefpolicy-3.10.0/policy/modules/services/pyzor.if.ptrace	2011-11-04 16:32:07.490065998 -0400
+++ serefpolicy-3.10.0/policy/modules/services/pyzor.if	2011-11-04 16:32:07.902066788 -0400
@@ -29,7 +29,10 @@ interface(`pyzor_role',`
 
 	# allow ps to show pyzor and allow the user to kill it 
 	ps_process_pattern($2, pyzor_t)
-	allow $2 pyzor_t:process { ptrace signal_perms };
+	allow $2 pyzor_t:process signal_perms;
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 pyzor_t:process ptrace;
+	')
 ')
 
 ########################################
@@ -113,8 +116,11 @@ interface(`pyzor_admin',`
 		type pyzor_etc_t, pyzor_var_lib_t, pyzord_initrc_exec_t;
 	')
 
-	allow $1 pyzord_t:process { ptrace signal_perms };
+	allow $1 pyzord_t:process signal_perms;
 	ps_process_pattern($1, pyzord_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 pyzord_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, pyzord_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/qpid.if.ptrace serefpolicy-3.10.0/policy/modules/services/qpid.if
--- serefpolicy-3.10.0/policy/modules/services/qpid.if.ptrace	2011-11-04 16:32:07.495066009 -0400
+++ serefpolicy-3.10.0/policy/modules/services/qpid.if	2011-11-04 16:32:07.903066789 -0400
@@ -177,8 +177,11 @@ interface(`qpidd_admin',`
 		type qpidd_t, qpidd_initrc_exec_t;
 	')
 
-	allow $1 qpidd_t:process { ptrace signal_perms };
+	allow $1 qpidd_t:process signal_perms;
 	ps_process_pattern($1, qpidd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 qpidd_t:process ptrace;
+	')
 
 	# Allow qpidd_t to restart the apache service
 	qpidd_initrc_domtrans($1)
diff -up serefpolicy-3.10.0/policy/modules/services/radius.if.ptrace serefpolicy-3.10.0/policy/modules/services/radius.if
--- serefpolicy-3.10.0/policy/modules/services/radius.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/radius.if	2011-11-04 16:32:07.904066790 -0400
@@ -38,8 +38,11 @@ interface(`radius_admin',`
 		type radiusd_initrc_exec_t;
 	')
 
-	allow $1 radiusd_t:process { ptrace signal_perms };
+	allow $1 radiusd_t:process signal_perms;
 	ps_process_pattern($1, radiusd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 radiusd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, radiusd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/radvd.if.ptrace serefpolicy-3.10.0/policy/modules/services/radvd.if
--- serefpolicy-3.10.0/policy/modules/services/radvd.if.ptrace	2011-11-04 16:32:07.499066017 -0400
+++ serefpolicy-3.10.0/policy/modules/services/radvd.if	2011-11-04 16:32:07.905066792 -0400
@@ -23,8 +23,11 @@ interface(`radvd_admin',`
 		type radvd_var_run_t;
 	')
 
-	allow $1 radvd_t:process { ptrace signal_perms };
+	allow $1 radvd_t:process signal_perms;
 	ps_process_pattern($1, radvd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 radvd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, radvd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/razor.if.ptrace serefpolicy-3.10.0/policy/modules/services/razor.if
--- serefpolicy-3.10.0/policy/modules/services/razor.if.ptrace	2011-11-04 16:32:07.500066018 -0400
+++ serefpolicy-3.10.0/policy/modules/services/razor.if	2011-11-04 16:32:07.906066795 -0400
@@ -132,7 +132,10 @@ interface(`razor_role',`
 
 	# allow ps to show razor and allow the user to kill it 
 	ps_process_pattern($2, razor_t)
-	allow $2 razor_t:process { ptrace signal_perms };
+	allow $2 razor_t:process signal_perms;
+	tunable_policy(`deny_ptrace',`',`
+		allow $2 razor_t:process ptrace;
+	')
 
 	manage_dirs_pattern($2, razor_home_t, razor_home_t)
 	manage_files_pattern($2, razor_home_t, razor_home_t)
diff -up serefpolicy-3.10.0/policy/modules/services/rgmanager.if.ptrace serefpolicy-3.10.0/policy/modules/services/rgmanager.if
--- serefpolicy-3.10.0/policy/modules/services/rgmanager.if.ptrace	2011-11-04 16:32:07.504066026 -0400
+++ serefpolicy-3.10.0/policy/modules/services/rgmanager.if	2011-11-04 16:32:07.907066798 -0400
@@ -117,8 +117,11 @@ interface(`rgmanager_admin',`
 		type rgmanager_tmpfs_t, rgmanager_var_log_t, rgmanager_var_run_t;
 	')
 
-	allow $1 rgmanager_t:process { ptrace signal_perms };
+	allow $1 rgmanager_t:process signal_perms;
 	ps_process_pattern($1, rgmanager_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 rgmanager_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, rgmanager_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/rgmanager.te.ptrace serefpolicy-3.10.0/policy/modules/services/rgmanager.te
--- serefpolicy-3.10.0/policy/modules/services/rgmanager.te.ptrace	2011-11-04 16:32:07.505066028 -0400
+++ serefpolicy-3.10.0/policy/modules/services/rgmanager.te	2011-11-04 16:32:07.907066798 -0400
@@ -37,7 +37,6 @@ files_pid_file(rgmanager_var_run_t)
 #
 
 allow rgmanager_t self:capability { dac_override net_raw sys_resource sys_admin sys_nice ipc_lock };
-dontaudit rgmanager_t self:capability { sys_ptrace };
 allow rgmanager_t self:process { setsched signal };
 dontaudit rgmanager_t self:process ptrace;
 
diff -up serefpolicy-3.10.0/policy/modules/services/rhsmcertd.if.ptrace serefpolicy-3.10.0/policy/modules/services/rhsmcertd.if
--- serefpolicy-3.10.0/policy/modules/services/rhsmcertd.if.ptrace	2011-11-04 16:32:07.513066042 -0400
+++ serefpolicy-3.10.0/policy/modules/services/rhsmcertd.if	2011-11-04 16:32:07.908066800 -0400
@@ -284,8 +284,11 @@ interface(`rhsmcertd_admin',`
 	type rhsmcertd_var_run_t;
 	')
 
-	allow $1 rhsmcertd_t:process { ptrace signal_perms };
+	allow $1 rhsmcertd_t:process signal_perms;
 	ps_process_pattern($1, rhsmcertd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 rhsmcertd_t:process ptrace;
+	')
 
 	rhsmcertd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ricci.if.ptrace serefpolicy-3.10.0/policy/modules/services/ricci.if
--- serefpolicy-3.10.0/policy/modules/services/ricci.if.ptrace	2011-11-04 16:32:07.515066048 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ricci.if	2011-11-04 16:32:07.909066801 -0400
@@ -245,8 +245,11 @@ interface(`ricci_admin',`
 		type ricci_var_lib_t, ricci_var_log_t, ricci_var_run_t;
 	')
 
-	allow $1 ricci_t:process { ptrace signal_perms };
+	allow $1 ricci_t:process signal_perms;
 	ps_process_pattern($1, ricci_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ricci_t:process ptrace;
+	')
 
 	ricci_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/roundup.if.ptrace serefpolicy-3.10.0/policy/modules/services/roundup.if
--- serefpolicy-3.10.0/policy/modules/services/roundup.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/roundup.if	2011-11-04 16:32:07.910066803 -0400
@@ -23,8 +23,11 @@ interface(`roundup_admin',`
 		type roundup_initrc_exec_t;
 	')
 
-	allow $1 roundup_t:process { ptrace signal_perms };
+	allow $1 roundup_t:process signal_perms;
 	ps_process_pattern($1, roundup_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 roundup_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, roundup_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/rpcbind.if.ptrace serefpolicy-3.10.0/policy/modules/services/rpcbind.if
--- serefpolicy-3.10.0/policy/modules/services/rpcbind.if.ptrace	2011-11-04 16:32:07.522066061 -0400
+++ serefpolicy-3.10.0/policy/modules/services/rpcbind.if	2011-11-04 16:32:07.911066805 -0400
@@ -155,8 +155,11 @@ interface(`rpcbind_admin',`
 		type rpcbind_initrc_exec_t;
 	')
 
-	allow $1 rpcbind_t:process { ptrace signal_perms };
+	allow $1 rpcbind_t:process signal_perms;
 	ps_process_pattern($1, rpcbind_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 rpcbind_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, rpcbind_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/rtkit.te.ptrace serefpolicy-3.10.0/policy/modules/services/rtkit.te
--- serefpolicy-3.10.0/policy/modules/services/rtkit.te.ptrace	2011-11-04 16:32:07.527066070 -0400
+++ serefpolicy-3.10.0/policy/modules/services/rtkit.te	2011-11-04 16:32:07.912066807 -0400
@@ -15,7 +15,7 @@ init_system_domain(rtkit_daemon_t, rtkit
 # rtkit_daemon local policy
 #
 
-allow rtkit_daemon_t self:capability { dac_read_search setuid sys_chroot setgid sys_nice sys_ptrace };
+allow rtkit_daemon_t self:capability { dac_read_search setuid sys_chroot setgid sys_nice };
 allow rtkit_daemon_t self:process { setsched getcap setcap setrlimit };
 
 kernel_read_system_state(rtkit_daemon_t)
diff -up serefpolicy-3.10.0/policy/modules/services/rwho.if.ptrace serefpolicy-3.10.0/policy/modules/services/rwho.if
--- serefpolicy-3.10.0/policy/modules/services/rwho.if.ptrace	2011-11-04 16:32:07.528066072 -0400
+++ serefpolicy-3.10.0/policy/modules/services/rwho.if	2011-11-04 16:32:07.913066809 -0400
@@ -138,8 +138,11 @@ interface(`rwho_admin',`
 		type rwho_initrc_exec_t;
 	')
 
-	allow $1 rwho_t:process { ptrace signal_perms };
+	allow $1 rwho_t:process signal_perms;
 	ps_process_pattern($1, rwho_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 rwho_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, rwho_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/samba.if.ptrace serefpolicy-3.10.0/policy/modules/services/samba.if
--- serefpolicy-3.10.0/policy/modules/services/samba.if.ptrace	2011-11-04 16:32:07.530066076 -0400
+++ serefpolicy-3.10.0/policy/modules/services/samba.if	2011-11-04 16:32:07.914066811 -0400
@@ -784,13 +784,18 @@ interface(`samba_admin',`
 		type winbind_var_run_t, winbind_tmp_t, samba_unconfined_script_t;
 	')
 
-	allow $1 smbd_t:process { ptrace signal_perms };
+	allow $1 smbd_t:process signal_perms;
 	ps_process_pattern($1, smbd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 smbd_t:process ptrace;
+		allow $1 nmbd_t:process ptrace;
+		allow $1 samba_unconfined_script_t:process ptrace;
+	')
 
-	allow $1 nmbd_t:process { ptrace signal_perms };
+	allow $1 nmbd_t:process signal_perms;
 	ps_process_pattern($1, nmbd_t)
 
-	allow $1 samba_unconfined_script_t:process { ptrace signal_perms };
+	allow $1 samba_unconfined_script_t:process signal_perms;
 	ps_process_pattern($1, samba_unconfined_script_t)
 
 	samba_run_smbcontrol($1, $2, $3)
diff -up serefpolicy-3.10.0/policy/modules/services/samhain.if.ptrace serefpolicy-3.10.0/policy/modules/services/samhain.if
--- serefpolicy-3.10.0/policy/modules/services/samhain.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/samhain.if	2011-11-04 16:32:07.915066812 -0400
@@ -271,10 +271,14 @@ interface(`samhain_admin',`
 		type samhain_initrc_exec_t, samhain_log_t, samhain_var_run_t;
 	')
 
-	allow $1 samhain_t:process { ptrace signal_perms };
+	allow $1 samhain_t:process signal_perms;
 	ps_process_pattern($1, samhain_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 samhain_t:process ptrace;
+		allow $1 samhaind_t:process ptrace;
+	')
 
-	allow $1 samhaind_t:process { ptrace signal_perms };
+	allow $1 samhaind_t:process signal_perms;
 	ps_process_pattern($1, samhaind_t)
 
 	files_list_var_lib($1)
diff -up serefpolicy-3.10.0/policy/modules/services/sanlock.if.ptrace serefpolicy-3.10.0/policy/modules/services/sanlock.if
--- serefpolicy-3.10.0/policy/modules/services/sanlock.if.ptrace	2011-11-04 16:32:07.533066082 -0400
+++ serefpolicy-3.10.0/policy/modules/services/sanlock.if	2011-11-04 16:32:07.916066813 -0400
@@ -99,8 +99,11 @@ interface(`sanlock_admin',`
 		type sanlock_initrc_exec_t;
 	')
 
-	allow $1 sanlock_t:process { ptrace signal_perms };
+	allow $1 sanlock_t:process signal_perms;
 	ps_process_pattern($1, sanlock_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 sanlock_t:process ptrace;
+	')
 
 	sanlock_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/sasl.if.ptrace serefpolicy-3.10.0/policy/modules/services/sasl.if
--- serefpolicy-3.10.0/policy/modules/services/sasl.if.ptrace	2011-11-04 16:32:07.535066084 -0400
+++ serefpolicy-3.10.0/policy/modules/services/sasl.if	2011-11-04 16:32:07.916066813 -0400
@@ -42,8 +42,11 @@ interface(`sasl_admin',`
 		type saslauthd_initrc_exec_t;
 	')
 
-	allow $1 saslauthd_t:process { ptrace signal_perms };
+	allow $1 saslauthd_t:process signal_perms;
 	ps_process_pattern($1, saslauthd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 saslauthd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, saslauthd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/sblim.if.ptrace serefpolicy-3.10.0/policy/modules/services/sblim.if
--- serefpolicy-3.10.0/policy/modules/services/sblim.if.ptrace	2011-11-04 16:32:07.536066086 -0400
+++ serefpolicy-3.10.0/policy/modules/services/sblim.if	2011-11-04 16:32:07.917066815 -0400
@@ -65,11 +65,15 @@ interface(`sblim_admin',`
 		type sblim_var_run_t;
 	')
 
-	allow $1 sblim_gatherd_t:process { ptrace signal_perms };
+	allow $1 sblim_gatherd_t:process signal_perms;
 	ps_process_pattern($1, sblim_gatherd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 sblim_gatherd_t:process ptrace;
+		allow $1 sblim_reposd_t:process ptrace;
+	')
 
-	allow $1 sblim_reposd_t:process { ptrace signal_perms };
-    ps_process_pattern($1, sblim_reposd_t)
+	allow $1 sblim_reposd_t:process signal_perms;
+	ps_process_pattern($1, sblim_reposd_t)
 
 	files_search_pids($1)
 	admin_pattern($1, sblim_var_run_t)
diff -up serefpolicy-3.10.0/policy/modules/services/sblim.te.ptrace serefpolicy-3.10.0/policy/modules/services/sblim.te
--- serefpolicy-3.10.0/policy/modules/services/sblim.te.ptrace	2011-11-04 16:32:07.537066089 -0400
+++ serefpolicy-3.10.0/policy/modules/services/sblim.te	2011-11-04 16:32:07.918066818 -0400
@@ -24,7 +24,7 @@ files_pid_file(sblim_var_run_t)
 #
 
 #needed by ps
-allow sblim_gatherd_t self:capability { sys_ptrace kill dac_override };
+allow sblim_gatherd_t self:capability { kill dac_override };
 allow sblim_gatherd_t self:process signal;
 
 allow sblim_gatherd_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/sendmail.if.ptrace serefpolicy-3.10.0/policy/modules/services/sendmail.if
--- serefpolicy-3.10.0/policy/modules/services/sendmail.if.ptrace	2011-11-04 16:32:07.538066092 -0400
+++ serefpolicy-3.10.0/policy/modules/services/sendmail.if	2011-11-04 16:32:07.919066820 -0400
@@ -334,10 +334,14 @@ interface(`sendmail_admin',`
 		type mail_spool_t;
 	')
 
-	allow $1 sendmail_t:process { ptrace signal_perms };
+	allow $1 sendmail_t:process signal_perms;
 	ps_process_pattern($1, sendmail_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 sendmail_t:process ptrace;
+		allow $1 unconfined_sendmail_t:process ptrace;
+	')
 
-	allow $1 unconfined_sendmail_t:process { ptrace signal_perms };
+	allow $1 unconfined_sendmail_t:process signal_perms;
 	ps_process_pattern($1, unconfined_sendmail_t)
 
 	sendmail_initrc_domtrans($1)
diff -up serefpolicy-3.10.0/policy/modules/services/setroubleshoot.if.ptrace serefpolicy-3.10.0/policy/modules/services/setroubleshoot.if
--- serefpolicy-3.10.0/policy/modules/services/setroubleshoot.if.ptrace	2011-11-04 16:32:07.540066095 -0400
+++ serefpolicy-3.10.0/policy/modules/services/setroubleshoot.if	2011-11-04 16:32:07.920066822 -0400
@@ -140,8 +140,11 @@ interface(`setroubleshoot_admin',`
 		type setroubleshoot_var_lib_t;
 	')
 
-	allow $1 setroubleshootd_t:process { ptrace signal_perms };
+	allow $1 setroubleshootd_t:process signal_perms;
 	ps_process_pattern($1, setroubleshootd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 setroubleshootd_t:process ptrace;
+	')
 
 	logging_list_logs($1)
 	admin_pattern($1, setroubleshoot_var_log_t)
diff -up serefpolicy-3.10.0/policy/modules/services/smartmon.if.ptrace serefpolicy-3.10.0/policy/modules/services/smartmon.if
--- serefpolicy-3.10.0/policy/modules/services/smartmon.if.ptrace	2011-11-04 16:32:07.543066101 -0400
+++ serefpolicy-3.10.0/policy/modules/services/smartmon.if	2011-11-04 16:32:07.921066824 -0400
@@ -42,8 +42,11 @@ interface(`smartmon_admin',`
 		type fsdaemon_initrc_exec_t;
 	')
 
-	allow $1 fsdaemon_t:process { ptrace signal_perms };
+	allow $1 fsdaemon_t:process signal_perms;
 	ps_process_pattern($1, fsdaemon_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 smartmon_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, fsdaemon_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/smokeping.if.ptrace serefpolicy-3.10.0/policy/modules/services/smokeping.if
--- serefpolicy-3.10.0/policy/modules/services/smokeping.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/smokeping.if	2011-11-04 16:32:07.921066824 -0400
@@ -153,8 +153,11 @@ interface(`smokeping_admin',`
 		type smokeping_t, smokeping_initrc_exec_t;
 	')
 
-	allow $1 smokeping_t:process { ptrace signal_perms };
+	allow $1 smokeping_t:process signal_perms;
 	ps_process_pattern($1, smokeping_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 smokeping_t:process ptrace;
+	')
 
 	smokeping_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/snmp.if.ptrace serefpolicy-3.10.0/policy/modules/services/snmp.if
--- serefpolicy-3.10.0/policy/modules/services/snmp.if.ptrace	2011-11-04 16:32:07.546066106 -0400
+++ serefpolicy-3.10.0/policy/modules/services/snmp.if	2011-11-04 16:32:07.922066826 -0400
@@ -168,8 +168,11 @@ interface(`snmp_admin',`
 		type snmpd_var_lib_t, snmpd_var_run_t;
 	')
 
-	allow $1 snmpd_t:process { ptrace signal_perms };
+	allow $1 snmpd_t:process signal_perms;
 	ps_process_pattern($1, snmpd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 snmpd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, snmpd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/snmp.te.ptrace serefpolicy-3.10.0/policy/modules/services/snmp.te
--- serefpolicy-3.10.0/policy/modules/services/snmp.te.ptrace	2011-11-04 16:32:07.547066107 -0400
+++ serefpolicy-3.10.0/policy/modules/services/snmp.te	2011-11-04 16:32:07.923066828 -0400
@@ -26,7 +26,8 @@ files_type(snmpd_var_lib_t)
 # Local policy
 #
 
-allow snmpd_t self:capability { chown dac_override kill ipc_lock setgid setuid sys_ptrace net_admin sys_nice sys_tty_config };
+allow snmpd_t self:capability { chown dac_override kill ipc_lock setgid setuid net_admin sys_nice sys_tty_config };
+
 dontaudit snmpd_t self:capability { sys_module sys_tty_config };
 allow snmpd_t self:process { signal_perms getsched setsched };
 allow snmpd_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/services/snort.if.ptrace serefpolicy-3.10.0/policy/modules/services/snort.if
--- serefpolicy-3.10.0/policy/modules/services/snort.if.ptrace	2011-11-04 16:32:07.547066107 -0400
+++ serefpolicy-3.10.0/policy/modules/services/snort.if	2011-11-04 16:32:07.924066830 -0400
@@ -41,8 +41,11 @@ interface(`snort_admin',`
 		type snort_etc_t, snort_initrc_exec_t;
 	')
 
-	allow $1 snort_t:process { ptrace signal_perms };
+	allow $1 snort_t:process signal_perms;
 	ps_process_pattern($1, snort_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 snort_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, snort_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/soundserver.if.ptrace serefpolicy-3.10.0/policy/modules/services/soundserver.if
--- serefpolicy-3.10.0/policy/modules/services/soundserver.if.ptrace	2011-11-04 16:32:07.549066112 -0400
+++ serefpolicy-3.10.0/policy/modules/services/soundserver.if	2011-11-04 16:32:07.925066832 -0400
@@ -37,8 +37,11 @@ interface(`soundserver_admin',`
 		type soundd_tmp_t, soundd_var_run_t;
 	')
 
-	allow $1 soundd_t:process { ptrace signal_perms };
+	allow $1 soundd_t:process signal_perms;
 	ps_process_pattern($1, soundd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 soundd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, soundd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/spamassassin.if.ptrace serefpolicy-3.10.0/policy/modules/services/spamassassin.if
--- serefpolicy-3.10.0/policy/modules/services/spamassassin.if.ptrace	2011-11-04 16:32:07.551066116 -0400
+++ serefpolicy-3.10.0/policy/modules/services/spamassassin.if	2011-11-04 16:32:07.927066834 -0400
@@ -27,12 +27,12 @@ interface(`spamassassin_role',`
 
 	domtrans_pattern($2, spamassassin_exec_t, spamassassin_t)
 
-	allow $2 spamassassin_t:process { ptrace signal_perms };
+	allow $2 spamassassin_t:process signal_perms;
 	ps_process_pattern($2, spamassassin_t)
 
 	domtrans_pattern($2, spamc_exec_t, spamc_t)
 
-	allow $2 spamc_t:process { ptrace signal_perms };
+	allow $2 spamc_t:process signal_perms;
 	ps_process_pattern($2, spamc_t)
 
 	manage_dirs_pattern($2, spamassassin_home_t, spamassassin_home_t)
@@ -337,8 +337,11 @@ interface(`spamassassin_spamd_admin',`
 		type spamd_initrc_exec_t;
 	')
 
-	allow $1 spamd_t:process { ptrace signal_perms };
+	allow $1 spamd_t:process signal_perms;
 	ps_process_pattern($1, spamd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 spamd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, spamd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/squid.if.ptrace serefpolicy-3.10.0/policy/modules/services/squid.if
--- serefpolicy-3.10.0/policy/modules/services/squid.if.ptrace	2011-11-04 16:32:07.553066120 -0400
+++ serefpolicy-3.10.0/policy/modules/services/squid.if	2011-11-04 16:32:07.928066836 -0400
@@ -209,8 +209,11 @@ interface(`squid_admin',`
 		type squid_log_t, squid_var_run_t, squid_initrc_exec_t;
 	')
 
-	allow $1 squid_t:process { ptrace signal_perms };
+	allow $1 squid_t:process signal_perms;
 	ps_process_pattern($1, squid_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 squid_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, squid_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ssh.if.ptrace serefpolicy-3.10.0/policy/modules/services/ssh.if
--- serefpolicy-3.10.0/policy/modules/services/ssh.if.ptrace	2011-11-04 16:32:07.556066126 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ssh.if	2011-11-04 16:32:07.929066839 -0400
@@ -367,7 +367,7 @@ template(`ssh_role_template',`
 
 	# allow ps to show ssh
 	ps_process_pattern($3, ssh_t)
-	allow $3 ssh_t:process { ptrace signal_perms };
+	allow $3 ssh_t:process signal_perms;
 
 	# for rsync
 	allow ssh_t $3:unix_stream_socket rw_socket_perms;
@@ -402,7 +402,7 @@ template(`ssh_role_template',`
 	stream_connect_pattern($3, ssh_agent_tmp_t, ssh_agent_tmp_t, $1_ssh_agent_t)
 
 	# Allow the user shell to signal the ssh program.
-	allow $3 $1_ssh_agent_t:process { ptrace signal_perms };
+	allow $3 $1_ssh_agent_t:process signal_perms;
 
 	# allow ps to show ssh
 	ps_process_pattern($3, $1_ssh_agent_t)
diff -up serefpolicy-3.10.0/policy/modules/services/sssd.if.ptrace serefpolicy-3.10.0/policy/modules/services/sssd.if
--- serefpolicy-3.10.0/policy/modules/services/sssd.if.ptrace	2011-11-04 16:32:07.558066128 -0400
+++ serefpolicy-3.10.0/policy/modules/services/sssd.if	2011-11-04 16:32:07.930066842 -0400
@@ -234,8 +234,11 @@ interface(`sssd_admin',`
 		type sssd_t, sssd_public_t, sssd_initrc_exec_t;
 	')
 
-	allow $1 sssd_t:process { ptrace signal_perms };
+	allow $1 sssd_t:process signal_perms;
 	ps_process_pattern($1, sssd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 sssd_t:process ptrace;
+	')
 
 	# Allow sssd_t to restart the apache service
 	sssd_initrc_domtrans($1)
diff -up serefpolicy-3.10.0/policy/modules/services/tcsd.if.ptrace serefpolicy-3.10.0/policy/modules/services/tcsd.if
--- serefpolicy-3.10.0/policy/modules/services/tcsd.if.ptrace	2011-11-04 16:32:07.563066139 -0400
+++ serefpolicy-3.10.0/policy/modules/services/tcsd.if	2011-11-04 16:32:07.931066844 -0400
@@ -137,8 +137,11 @@ interface(`tcsd_admin',`
 		type tcsd_var_lib_t;
 	')
 
-	allow $1 tcsd_t:process { ptrace signal_perms };
+	allow $1 tcsd_t:process signal_perms;
 	ps_process_pattern($1, tcsd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 tcsd_t:process ptrace;
+	')
 
 	tcsd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/tftp.if.ptrace serefpolicy-3.10.0/policy/modules/services/tftp.if
--- serefpolicy-3.10.0/policy/modules/services/tftp.if.ptrace	2011-11-04 16:32:07.566066145 -0400
+++ serefpolicy-3.10.0/policy/modules/services/tftp.if	2011-11-04 16:32:07.931066844 -0400
@@ -109,8 +109,11 @@ interface(`tftp_admin',`
 		type tftpd_t, tftpdir_t, tftpdir_rw_t, tftpd_var_run_t;
 	')
 
-	allow $1 tftpd_t:process { ptrace signal_perms };
+	allow $1 tftpd_t:process signal_perms;
 	ps_process_pattern($1, tftpd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 tftp_t:process ptrace;
+	')
 
 	files_list_var_lib($1)
 	admin_pattern($1, tftpdir_rw_t)
diff -up serefpolicy-3.10.0/policy/modules/services/tor.if.ptrace serefpolicy-3.10.0/policy/modules/services/tor.if
--- serefpolicy-3.10.0/policy/modules/services/tor.if.ptrace	2011-11-04 16:32:07.569066150 -0400
+++ serefpolicy-3.10.0/policy/modules/services/tor.if	2011-11-04 16:32:07.932066845 -0400
@@ -42,8 +42,11 @@ interface(`tor_admin',`
 		type tor_initrc_exec_t;
 	')
 
-	allow $1 tor_t:process { ptrace signal_perms };
+	allow $1 tor_t:process signal_perms;
 	ps_process_pattern($1, tor_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 tor_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, tor_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/tuned.if.ptrace serefpolicy-3.10.0/policy/modules/services/tuned.if
--- serefpolicy-3.10.0/policy/modules/services/tuned.if.ptrace	2011-11-04 16:32:07.570066151 -0400
+++ serefpolicy-3.10.0/policy/modules/services/tuned.if	2011-11-04 16:32:07.933066847 -0400
@@ -115,8 +115,11 @@ interface(`tuned_admin',`
 		type tuned_t, tuned_var_run_t, tuned_initrc_exec_t;
 	')
 
-	allow $1 tuned_t:process { ptrace signal_perms };
+	allow $1 tuned_t:process signal_perms;
 	ps_process_pattern($1, tuned_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 tuned_t:process ptrace;
+	')
 
 	tuned_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/ulogd.if.ptrace serefpolicy-3.10.0/policy/modules/services/ulogd.if
--- serefpolicy-3.10.0/policy/modules/services/ulogd.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/ulogd.if	2011-11-04 16:32:07.934066849 -0400
@@ -123,8 +123,11 @@ interface(`ulogd_admin',`
 		type ulogd_var_log_t, ulogd_initrc_exec_t;
 	')
 
-	allow $1 ulogd_t:process { ptrace signal_perms };
+	allow $1 ulogd_t:process signal_perms;
 	ps_process_pattern($1, ulogd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 ulogd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, ulogd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/uucp.if.ptrace serefpolicy-3.10.0/policy/modules/services/uucp.if
--- serefpolicy-3.10.0/policy/modules/services/uucp.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/uucp.if	2011-11-04 16:32:07.935066851 -0400
@@ -99,8 +99,11 @@ interface(`uucp_admin',`
 		type uucpd_var_run_t;
 	')
 
-	allow $1 uucpd_t:process { ptrace signal_perms };
+	allow $1 uucpd_t:process signal_perms;
 	ps_process_pattern($1, uucpd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 uucpd_t:process ptrace;
+	')
 
 	logging_list_logs($1)
 	admin_pattern($1, uucpd_log_t)
diff -up serefpolicy-3.10.0/policy/modules/services/uuidd.if.ptrace serefpolicy-3.10.0/policy/modules/services/uuidd.if
--- serefpolicy-3.10.0/policy/modules/services/uuidd.if.ptrace	2011-11-04 16:32:07.577066166 -0400
+++ serefpolicy-3.10.0/policy/modules/services/uuidd.if	2011-11-04 16:32:07.936066853 -0400
@@ -177,8 +177,11 @@ interface(`uuidd_admin',`
 	type uuidd_var_run_t;
 	')
 
-	allow $1 uuidd_t:process { ptrace signal_perms };
+	allow $1 uuidd_t:process signal_perms;
 	ps_process_pattern($1, uuidd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 uuidd_t:process ptrace;
+	')
 
 	uuidd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/varnishd.if.ptrace serefpolicy-3.10.0/policy/modules/services/varnishd.if
--- serefpolicy-3.10.0/policy/modules/services/varnishd.if.ptrace	2011-06-27 14:18:04.000000000 -0400
+++ serefpolicy-3.10.0/policy/modules/services/varnishd.if	2011-11-04 16:32:07.936066853 -0400
@@ -155,8 +155,11 @@ interface(`varnishd_admin_varnishlog',`
 		type varnishlog_var_run_t;
 	')
 
-	allow $1 varnishlog_t:process { ptrace signal_perms };
+	allow $1 varnishlog_t:process signal_perms;
 	ps_process_pattern($1, varnishlog_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 varnishd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, varnishlog_initrc_exec_t)
 	domain_system_change_exemption($1)
@@ -194,8 +197,11 @@ interface(`varnishd_admin',`
 		type varnishd_initrc_exec_t;
 	')
 
-	allow $1 varnishd_t:process { ptrace signal_perms };
+	allow $1 varnishd_t:process signal_perms;
 	ps_process_pattern($1, varnishd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 varnishd_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, varnishd_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/vdagent.if.ptrace serefpolicy-3.10.0/policy/modules/services/vdagent.if
--- serefpolicy-3.10.0/policy/modules/services/vdagent.if.ptrace	2011-11-04 16:32:07.580066172 -0400
+++ serefpolicy-3.10.0/policy/modules/services/vdagent.if	2011-11-04 16:32:07.937066855 -0400
@@ -118,8 +118,11 @@ interface(`vdagent_admin',`
                 type vdagent_var_run_t;
 	')
 
-	allow $1 vdagent_t:process { ptrace signal_perms };
+	allow $1 vdagent_t:process signal_perms;
 	ps_process_pattern($1, vdagent_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 vdagent_t:process ptrace;
+	')
 
 	files_search_pids($1)
 	admin_pattern($1, vdagent_var_run_t)
diff -up serefpolicy-3.10.0/policy/modules/services/vhostmd.if.ptrace serefpolicy-3.10.0/policy/modules/services/vhostmd.if
--- serefpolicy-3.10.0/policy/modules/services/vhostmd.if.ptrace	2011-11-04 16:32:07.581066174 -0400
+++ serefpolicy-3.10.0/policy/modules/services/vhostmd.if	2011-11-04 16:32:07.938066856 -0400
@@ -210,8 +210,11 @@ interface(`vhostmd_admin',`
 		type vhostmd_t, vhostmd_initrc_exec_t;
 	')
 
-	allow $1 vhostmd_t:process { ptrace signal_perms };
+	allow $1 vhostmd_t:process signal_perms;
 	ps_process_pattern($1, vhostmd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 vhostmd_t:process ptrace;
+	')
 
 	vhostmd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/virt.if.ptrace serefpolicy-3.10.0/policy/modules/services/virt.if
--- serefpolicy-3.10.0/policy/modules/services/virt.if.ptrace	2011-11-04 16:32:07.584066180 -0400
+++ serefpolicy-3.10.0/policy/modules/services/virt.if	2011-11-04 16:32:07.939066857 -0400
@@ -620,10 +620,14 @@ interface(`virt_admin',`
 		type virt_lxc_t;
 	')
 
-	allow $1 virtd_t:process { ptrace signal_perms };
+	allow $1 virtd_t:process signal_perms;
 	ps_process_pattern($1, virtd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 virtd_t:process ptrace;
+		allow $1 virt_lxc_t:process ptrace;
+	')
 
-	allow $1 virt_lxc_t:process { ptrace signal_perms };
+	allow $1 virt_lxc_t:process signal_perms;
 	ps_process_pattern($1, virt_lxc_t)
 
 	init_labeled_script_domtrans($1, virtd_initrc_exec_t)
@@ -639,7 +643,7 @@ interface(`virt_admin',`
 
 	virt_manage_images($1)
 
-	allow $1 virt_domain:process { ptrace signal_perms };
+	allow $1 virt_domain:process signal_perms;
 ')
 
 ########################################
diff -up serefpolicy-3.10.0/policy/modules/services/virt.te.ptrace serefpolicy-3.10.0/policy/modules/services/virt.te
--- serefpolicy-3.10.0/policy/modules/services/virt.te.ptrace	2011-11-04 16:32:07.695066392 -0400
+++ serefpolicy-3.10.0/policy/modules/services/virt.te	2011-11-04 16:32:07.941066862 -0400
@@ -250,7 +250,7 @@ optional_policy(`
 # virtd local policy
 #
 
-allow virtd_t self:capability { chown dac_override fowner ipc_lock kill mknod net_admin net_raw setpcap setuid setgid sys_admin sys_nice sys_ptrace };
+allow virtd_t self:capability { chown dac_override fowner ipc_lock kill mknod net_admin net_raw setpcap setuid setgid sys_admin sys_nice };
 allow virtd_t self:process { getcap getsched setcap sigkill signal signull execmem setexec setfscreate setsockcreate setsched };
 ifdef(`hide_broken_symptoms',`
 	# caused by some bogus kernel code
@@ -851,7 +851,6 @@ optional_policy(`
 # virt_lxc_domain local policy
 #
 allow svirt_lxc_domain self:capability { kill setuid setgid dac_override };
-dontaudit svirt_lxc_domain self:capability sys_ptrace;
 
 allow virtd_t svirt_lxc_domain:process { signal_perms };
 allow virtd_lxc_t svirt_lxc_domain:process { getattr getsched setsched transition signal signull sigkill };
diff -up serefpolicy-3.10.0/policy/modules/services/vnstatd.if.ptrace serefpolicy-3.10.0/policy/modules/services/vnstatd.if
--- serefpolicy-3.10.0/policy/modules/services/vnstatd.if.ptrace	2011-11-04 16:32:07.587066186 -0400
+++ serefpolicy-3.10.0/policy/modules/services/vnstatd.if	2011-11-04 16:32:07.942066864 -0400
@@ -136,8 +136,11 @@ interface(`vnstatd_admin',`
 		type vnstatd_t, vnstatd_var_lib_t;
 	')
 
-	allow $1 vnstatd_t:process { ptrace signal_perms };
+	allow $1 vnstatd_t:process signal_perms;
 	ps_process_pattern($1, vnstatd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 vnstatd_t:process ptrace;
+	')
 
 	files_list_var_lib($1)
 	admin_pattern($1, vnstatd_var_lib_t)
diff -up serefpolicy-3.10.0/policy/modules/services/wdmd.if.ptrace serefpolicy-3.10.0/policy/modules/services/wdmd.if
--- serefpolicy-3.10.0/policy/modules/services/wdmd.if.ptrace	2011-11-04 16:32:07.589066189 -0400
+++ serefpolicy-3.10.0/policy/modules/services/wdmd.if	2011-11-04 16:32:07.943066866 -0400
@@ -62,8 +62,11 @@ interface(`wdmd_admin',`
 		type wdmd_initrc_exec_t;
 	')
 
-	allow $1 wdmd_t:process { ptrace signal_perms };
+	allow $1 wdmd_t:process signal_perms;
 	ps_process_pattern($1, wdmd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 wdmd_t:process ptrace;
+	')
 
 	wdmd_initrc_domtrans($1)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/xserver.te.ptrace serefpolicy-3.10.0/policy/modules/services/xserver.te
--- serefpolicy-3.10.0/policy/modules/services/xserver.te.ptrace	2011-11-04 16:32:07.731066459 -0400
+++ serefpolicy-3.10.0/policy/modules/services/xserver.te	2011-11-04 16:32:07.944066868 -0400
@@ -417,8 +417,13 @@ optional_policy(`
 # XDM Local policy
 #
 
-allow xdm_t self:capability { setgid setuid sys_resource kill sys_tty_config mknod chown dac_override dac_read_search fowner fsetid ipc_owner sys_nice sys_rawio net_bind_service sys_ptrace };
-allow xdm_t self:process { setexec setpgid getattr getcap setcap getsched getsession setsched setrlimit signal_perms setkeycreate ptrace };
+allow xdm_t self:capability { setgid setuid sys_resource kill sys_tty_config mknod chown dac_override dac_read_search fowner fsetid ipc_owner sys_nice sys_rawio net_bind_service };
+
+allow xdm_t self:process { setexec setpgid getattr getcap setcap getsched getsession setsched setrlimit signal_perms setkeycreate };
+tunable_policy(`deny_ptrace',`',`
+	allow xdm_t self:process ptrace;
+')
+
 allow xdm_t self:fifo_file rw_fifo_file_perms;
 allow xdm_t self:shm create_shm_perms;
 allow xdm_t self:sem create_sem_perms;
@@ -930,7 +935,8 @@ allow xserver_t input_xevent_t:x_event s
 # execheap needed until the X module loader is fixed.
 # NVIDIA Needs execstack
 
-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 };
+allow xserver_t self:capability { dac_override fowner fsetid setgid setuid ipc_owner 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:fd use;
diff -up serefpolicy-3.10.0/policy/modules/services/zabbix.if.ptrace serefpolicy-3.10.0/policy/modules/services/zabbix.if
--- serefpolicy-3.10.0/policy/modules/services/zabbix.if.ptrace	2011-11-04 16:32:07.597066205 -0400
+++ serefpolicy-3.10.0/policy/modules/services/zabbix.if	2011-11-04 16:32:07.945066870 -0400
@@ -142,8 +142,11 @@ interface(`zabbix_admin',`
 		type zabbix_initrc_exec_t;
 	')
 
-	allow $1 zabbix_t:process { ptrace signal_perms };
+	allow $1 zabbix_t:process signal_perms;
 	ps_process_pattern($1, zabbix_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 zabbix_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, zabbix_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/services/zebra.if.ptrace serefpolicy-3.10.0/policy/modules/services/zebra.if
--- serefpolicy-3.10.0/policy/modules/services/zebra.if.ptrace	2011-11-04 16:32:07.601066212 -0400
+++ serefpolicy-3.10.0/policy/modules/services/zebra.if	2011-11-04 16:32:07.946066872 -0400
@@ -64,8 +64,11 @@ interface(`zebra_admin',`
 		type zebra_conf_t, zebra_var_run_t, zebra_initrc_exec_t;
 	')
 
-	allow $1 zebra_t:process { ptrace signal_perms };
+	allow $1 zebra_t:process signal_perms;
 	ps_process_pattern($1, zebra_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 zebra_t:process ptrace;
+	')
 
 	init_labeled_script_domtrans($1, zebra_initrc_exec_t)
 	domain_system_change_exemption($1)
diff -up serefpolicy-3.10.0/policy/modules/system/hotplug.te.ptrace serefpolicy-3.10.0/policy/modules/system/hotplug.te
--- serefpolicy-3.10.0/policy/modules/system/hotplug.te.ptrace	2011-11-04 16:32:07.615066238 -0400
+++ serefpolicy-3.10.0/policy/modules/system/hotplug.te	2011-11-04 16:32:07.946066872 -0400
@@ -23,7 +23,7 @@ files_pid_file(hotplug_var_run_t)
 #
 
 allow hotplug_t self:capability { net_admin sys_tty_config mknod sys_rawio };
-dontaudit hotplug_t self:capability { sys_module sys_admin sys_ptrace sys_tty_config };
+dontaudit hotplug_t self:capability { sys_module sys_admin sys_tty_config };
 # for access("/etc/bashrc", X_OK) on Red Hat
 dontaudit hotplug_t self:capability { dac_override dac_read_search };
 allow hotplug_t self:process { setpgid getsession getattr signal_perms };
diff -up serefpolicy-3.10.0/policy/modules/system/init.if.ptrace serefpolicy-3.10.0/policy/modules/system/init.if
--- serefpolicy-3.10.0/policy/modules/system/init.if.ptrace	2011-11-04 16:32:07.618066244 -0400
+++ serefpolicy-3.10.0/policy/modules/system/init.if	2011-11-04 16:32:07.948066876 -0400
@@ -1123,7 +1123,9 @@ interface(`init_ptrace',`
 		type init_t;
 	')
 
-	allow $1 init_t:process ptrace;
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 init_t:process ptrace;
+	')
 ')
 
 ########################################
diff -up serefpolicy-3.10.0/policy/modules/system/init.te.ptrace serefpolicy-3.10.0/policy/modules/system/init.te
--- serefpolicy-3.10.0/policy/modules/system/init.te.ptrace	2011-11-04 16:32:07.732066461 -0400
+++ serefpolicy-3.10.0/policy/modules/system/init.te	2011-11-04 16:32:07.950066880 -0400
@@ -121,7 +121,7 @@ ifdef(`enable_mls',`
 #
 
 # Use capabilities. old rule:
-allow init_t self:capability ~{ audit_control audit_write sys_module };
+allow init_t self:capability ~{ sys_ptrace audit_control audit_write sys_module };
 # is ~sys_module really needed? observed:
 # sys_boot
 # sys_tty_config
@@ -410,7 +410,8 @@ optional_policy(`
 #
 
 allow initrc_t self:process { getpgid setsched setpgid setrlimit getsched };
-allow initrc_t self:capability ~{ audit_control audit_write sys_admin sys_module };
+allow initrc_t self:capability ~{ sys_ptrace audit_control audit_write sys_admin sys_module };
+
 dontaudit initrc_t self:capability sys_module; # sysctl is triggering this
 allow initrc_t self:passwd rootok;
 allow initrc_t self:key manage_key_perms;
diff -up serefpolicy-3.10.0/policy/modules/system/ipsec.te.ptrace serefpolicy-3.10.0/policy/modules/system/ipsec.te
--- serefpolicy-3.10.0/policy/modules/system/ipsec.te.ptrace	2011-11-04 16:32:07.622066252 -0400
+++ serefpolicy-3.10.0/policy/modules/system/ipsec.te	2011-11-04 16:32:07.951066882 -0400
@@ -73,7 +73,7 @@ role system_r types setkey_t;
 #
 
 allow ipsec_t self:capability { net_admin dac_override dac_read_search setpcap sys_nice };
-dontaudit ipsec_t self:capability { sys_ptrace sys_tty_config };
+dontaudit ipsec_t self:capability sys_tty_config;
 allow ipsec_t self:process { getcap setcap getsched signal setsched };
 allow ipsec_t self:tcp_socket create_stream_socket_perms;
 allow ipsec_t self:udp_socket create_socket_perms;
@@ -193,8 +193,8 @@ optional_policy(`
 #
 
 allow ipsec_mgmt_t self:capability { dac_override dac_read_search net_admin setpcap sys_nice };
-dontaudit ipsec_mgmt_t self:capability { sys_ptrace sys_tty_config };
-allow ipsec_mgmt_t self:process { getsched ptrace setrlimit setsched signal };
+dontaudit ipsec_mgmt_t self:capability sys_tty_config;
+allow ipsec_mgmt_t self:process { getsched setrlimit setsched signal };
 allow ipsec_mgmt_t self:unix_stream_socket create_stream_socket_perms;
 allow ipsec_mgmt_t self:tcp_socket create_stream_socket_perms;
 allow ipsec_mgmt_t self:udp_socket create_socket_perms;
@@ -251,9 +251,6 @@ kernel_read_kernel_sysctls(ipsec_mgmt_t)
 kernel_getattr_core_if(ipsec_mgmt_t)
 kernel_getattr_message_if(ipsec_mgmt_t)
 
-# don't audit using of lsof
-dontaudit ipsec_mgmt_t self:capability sys_ptrace;
-
 domain_dontaudit_getattr_all_sockets(ipsec_mgmt_t)
 domain_dontaudit_getattr_all_pipes(ipsec_mgmt_t)
 
diff -up serefpolicy-3.10.0/policy/modules/system/iscsi.te.ptrace serefpolicy-3.10.0/policy/modules/system/iscsi.te
--- serefpolicy-3.10.0/policy/modules/system/iscsi.te.ptrace	2011-11-04 16:32:07.625066258 -0400
+++ serefpolicy-3.10.0/policy/modules/system/iscsi.te	2011-11-04 16:32:07.952066884 -0400
@@ -31,7 +31,6 @@ files_pid_file(iscsi_var_run_t)
 #
 
 allow iscsid_t self:capability { dac_override ipc_lock net_admin net_raw sys_admin sys_nice sys_resource };
-dontaudit iscsid_t self:capability sys_ptrace;
 allow iscsid_t self:process { setrlimit setsched signal };
 allow iscsid_t self:fifo_file rw_fifo_file_perms;
 allow iscsid_t self:unix_stream_socket { create_stream_socket_perms connectto };
diff -up serefpolicy-3.10.0/policy/modules/system/locallogin.te.ptrace serefpolicy-3.10.0/policy/modules/system/locallogin.te
--- serefpolicy-3.10.0/policy/modules/system/locallogin.te.ptrace	2011-11-04 16:32:07.630066268 -0400
+++ serefpolicy-3.10.0/policy/modules/system/locallogin.te	2011-11-04 16:32:07.953066886 -0400
@@ -35,7 +35,7 @@ role system_r types sulogin_t;
 # Local login local policy
 #
 
-allow local_login_t self:capability { dac_override chown fowner fsetid kill setgid setuid sys_admin sys_nice sys_ptrace sys_resource sys_tty_config };
+allow local_login_t self:capability { dac_override chown fowner fsetid kill setgid setuid sys_admin sys_nice sys_resource sys_tty_config };
 allow local_login_t self:process ~{ ptrace setcurrent setfscreate execmem execstack execheap };
 allow local_login_t self:fd use;
 allow local_login_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/system/logging.if.ptrace serefpolicy-3.10.0/policy/modules/system/logging.if
--- serefpolicy-3.10.0/policy/modules/system/logging.if.ptrace	2011-11-04 16:32:07.632066271 -0400
+++ serefpolicy-3.10.0/policy/modules/system/logging.if	2011-11-04 16:32:07.954066888 -0400
@@ -1095,9 +1095,13 @@ interface(`logging_admin_audit',`
 		type auditd_initrc_exec_t;
 	')
 
-	allow $1 auditd_t:process { ptrace signal_perms };
+	allow $1 auditd_t:process signal_perms;
 	ps_process_pattern($1, auditd_t)
 
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 auditd_t:process ptrace;
+	')
+
 	manage_dirs_pattern($1, auditd_etc_t, auditd_etc_t)
 	manage_files_pattern($1, auditd_etc_t, auditd_etc_t)
 
@@ -1142,10 +1146,14 @@ interface(`logging_admin_syslog',`
 	')
 
 	allow $1 self:capability2 syslog;
-	allow $1 syslogd_t:process { ptrace signal_perms };
-	allow $1 klogd_t:process { ptrace signal_perms };
+	allow $1 syslogd_t:process signal_perms;
+	allow $1 klogd_t:process signal_perms;
 	ps_process_pattern($1, syslogd_t)
 	ps_process_pattern($1, klogd_t)
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 syslogd_t:process ptrace;
+		allow $1 klogd_t:process ptrace;
+	')
 
 	manage_dirs_pattern($1, klogd_var_run_t, klogd_var_run_t)
 	manage_files_pattern($1, klogd_var_run_t, klogd_var_run_t)
diff -up serefpolicy-3.10.0/policy/modules/system/mount.te.ptrace serefpolicy-3.10.0/policy/modules/system/mount.te
--- serefpolicy-3.10.0/policy/modules/system/mount.te.ptrace	2011-11-04 16:32:07.643066293 -0400
+++ serefpolicy-3.10.0/policy/modules/system/mount.te	2011-11-04 16:32:07.954066888 -0400
@@ -48,7 +48,11 @@ role system_r types showmount_t;
 
 # setuid/setgid needed to mount cifs 
 allow mount_t self:capability { fsetid fowner ipc_lock setpcap sys_rawio sys_resource sys_admin dac_override dac_read_search chown sys_tty_config setuid setgid };
-allow mount_t self:process { getcap getsched ptrace setcap setrlimit signal };
+allow mount_t self:process { getcap getsched setcap setrlimit signal };
+tunable_policy(`deny_ptrace',`',`
+	allow mount_t self:process ptrace;
+')
+
 allow mount_t self:fifo_file rw_fifo_file_perms;
 allow mount_t self:unix_stream_socket create_stream_socket_perms;
 allow mount_t self:unix_dgram_socket create_socket_perms; 
diff -up serefpolicy-3.10.0/policy/modules/system/sysnetwork.te.ptrace serefpolicy-3.10.0/policy/modules/system/sysnetwork.te
--- serefpolicy-3.10.0/policy/modules/system/sysnetwork.te.ptrace	2011-11-04 16:32:07.654066313 -0400
+++ serefpolicy-3.10.0/policy/modules/system/sysnetwork.te	2011-11-04 16:32:07.955066890 -0400
@@ -51,10 +51,13 @@ files_config_file(net_conf_t)
 # DHCP client local policy
 #
 allow dhcpc_t self:capability { dac_override fsetid net_admin net_raw net_bind_service setpcap sys_nice sys_resource sys_tty_config };
-dontaudit dhcpc_t self:capability { sys_tty_config sys_ptrace };
+dontaudit dhcpc_t self:capability sys_tty_config;
 # for access("/etc/bashrc", X_OK) on Red Hat
 dontaudit dhcpc_t self:capability { dac_read_search sys_module };
-allow dhcpc_t self:process { getsched getcap setcap setfscreate ptrace signal_perms };
+allow dhcpc_t self:process { getsched getcap setcap setfscreate signal_perms };
+tunable_policy(`deny_ptrace',`',`
+	allow dhcpc_t self:process ptrace;
+')
 
 allow dhcpc_t self:fifo_file rw_fifo_file_perms;
 allow dhcpc_t self:tcp_socket create_stream_socket_perms;
diff -up serefpolicy-3.10.0/policy/modules/system/udev.te.ptrace serefpolicy-3.10.0/policy/modules/system/udev.te
--- serefpolicy-3.10.0/policy/modules/system/udev.te.ptrace	2011-11-04 16:32:07.659066323 -0400
+++ serefpolicy-3.10.0/policy/modules/system/udev.te	2011-11-04 16:32:07.956066892 -0400
@@ -34,7 +34,7 @@ ifdef(`enable_mcs',`
 # Local policy
 #
 
-allow udev_t self:capability { chown dac_override dac_read_search fowner fsetid sys_admin mknod net_raw net_admin sys_nice sys_rawio sys_resource setuid setgid sys_nice sys_ptrace };
+allow udev_t self:capability { chown dac_override dac_read_search fowner fsetid sys_admin mknod net_raw net_admin sys_nice sys_rawio sys_resource setuid setgid sys_nice };
 dontaudit udev_t self:capability sys_tty_config;
 
 ifdef(`hide_broken_symptoms',`
@@ -42,7 +42,11 @@ ifdef(`hide_broken_symptoms',`
 	dontaudit udev_t self:capability sys_module;
 ')
 
-allow udev_t self:process ~{ setcurrent setexec setfscreate setrlimit execmem execstack execheap };
+allow udev_t self:process ~{ ptrace setcurrent setexec setfscreate setrlimit execmem execstack execheap };
+tunable_policy(`deny_ptrace',`',`
+	allow udev_t self:process ptrace;
+')
+
 allow udev_t self:process { execmem setfscreate };
 allow udev_t self:fd use;
 allow udev_t self:fifo_file rw_fifo_file_perms;
diff -up serefpolicy-3.10.0/policy/modules/system/unconfined.if.ptrace serefpolicy-3.10.0/policy/modules/system/unconfined.if
--- serefpolicy-3.10.0/policy/modules/system/unconfined.if.ptrace	2011-11-04 16:32:07.680066363 -0400
+++ serefpolicy-3.10.0/policy/modules/system/unconfined.if	2011-11-04 16:32:07.957066893 -0400
@@ -18,7 +18,12 @@ interface(`unconfined_domain_noaudit',`
 	')
 
 	# Use any Linux capability.
-	allow $1 self:capability ~sys_module;
+
+	allow $1 self:capability ~{ sys_module sys_ptrace };
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 self:capability sys_ptrace;
+	')
+
 	allow $1 self:capability2 syslog;
 	allow $1 self:fifo_file { manage_fifo_file_perms relabelfrom relabelto };
 
diff -up serefpolicy-3.10.0/policy/modules/system/userdomain.if.ptrace serefpolicy-3.10.0/policy/modules/system/userdomain.if
--- serefpolicy-3.10.0/policy/modules/system/userdomain.if.ptrace	2011-11-04 16:32:07.735066469 -0400
+++ serefpolicy-3.10.0/policy/modules/system/userdomain.if	2011-11-04 16:32:07.960066899 -0400
@@ -47,7 +47,10 @@ template(`userdom_base_user_template',`
 	term_user_tty($1_t, user_tty_device_t)
 	term_dontaudit_getattr_generic_ptys($1_t)
 
-	allow $1_usertype $1_usertype:process { ptrace signal_perms getsched setsched share getpgid setpgid getcap setcap getsession getattr };
+	allow $1_usertype $1_usertype:process { signal_perms getsched setsched share getpgid setpgid getcap setcap getsession getattr };
+	tunable_policy(`deny_ptrace',`',`
+		allow $1_usertype $1_usertype:process ptrace;
+	')
 	allow $1_usertype $1_usertype:fd use;
 	allow $1_usertype $1_t:key { create view read write search link setattr };
 
@@ -903,7 +906,7 @@ template(`userdom_login_user_template',
 	allow $1_t self:capability { setgid chown fowner };
 	dontaudit $1_t self:capability { sys_nice fsetid };
 
-	allow $1_t self:process ~{ setcurrent setexec setrlimit execmem execstack execheap };
+	allow $1_t self:process ~{ ptrace setcurrent setexec setrlimit execmem execstack execheap };
 	dontaudit $1_t self:process setrlimit;
 	dontaudit $1_t self:netlink_route_socket { create ioctl read getattr write setattr append bind connect getopt setopt shutdown nlmsg_read nlmsg_write };
 
@@ -1364,7 +1367,10 @@ template(`userdom_admin_user_template',`
 	# $1_t local policy
 	#
 
-	allow $1_t self:capability ~{ sys_module audit_control audit_write };
+	allow $1_t self:capability ~{ sys_ptrace sys_module audit_control audit_write };
+	tunable_policy(`deny_ptrace',`',`
+		allow $1_t self:capability sys_ptrace;
+	')
 	allow $1_t self:capability2 syslog;
 	allow $1_t self:process { setexec setfscreate };
 	allow $1_t self:netlink_audit_socket nlmsg_readpriv;
@@ -4001,7 +4007,9 @@ interface(`userdom_ptrace_all_users',`
 		attribute userdomain;
 	')
 
-	allow $1 userdomain:process ptrace;
+	tunable_policy(`deny_ptrace',`',`
+		allow $1 userdomain:process ptrace;
+	')
 ')
 
 ########################################
diff -up serefpolicy-3.10.0/policy/modules/system/xen.te.ptrace serefpolicy-3.10.0/policy/modules/system/xen.te
--- serefpolicy-3.10.0/policy/modules/system/xen.te.ptrace	2011-11-04 16:32:07.669066342 -0400
+++ serefpolicy-3.10.0/policy/modules/system/xen.te	2011-11-04 16:32:07.961066900 -0400
@@ -206,7 +206,6 @@ tunable_policy(`xend_run_qemu',`
 #
 
 allow xend_t self:capability { dac_override ipc_lock net_admin setuid sys_admin sys_nice sys_tty_config net_raw };
-dontaudit xend_t self:capability { sys_ptrace };
 allow xend_t self:process { signal sigkill };
 dontaudit xend_t self:process ptrace;
 # internal communication is often done using fifo and unix sockets.