Blob Blame History Raw
policy_module(tuned, 1.1.4)

########################################
#
# Declarations
#

type tuned_t;
type tuned_exec_t;
init_daemon_domain(tuned_t, tuned_exec_t)

type tuned_initrc_exec_t;
init_script_file(tuned_initrc_exec_t)

type tuned_etc_t;
files_config_file(tuned_etc_t)

type tuned_rw_etc_t;
files_config_file(tuned_rw_etc_t)

type tuned_log_t;
logging_log_file(tuned_log_t)

type tuned_var_run_t;
files_pid_file(tuned_var_run_t)

########################################
#
# Local policy
#

allow tuned_t self:capability { sys_admin sys_nice };
dontaudit tuned_t self:capability { dac_override sys_tty_config };
allow tuned_t self:process {  setsched signal };
allow tuned_t self:fifo_file rw_fifo_file_perms;
allow tuned_t self:udp_socket create_socket_perms;

read_files_pattern(tuned_t, tuned_etc_t, tuned_etc_t)
exec_files_pattern(tuned_t, tuned_etc_t, tuned_etc_t)

manage_files_pattern(tuned_t, tuned_etc_t, tuned_rw_etc_t)
files_etc_filetrans(tuned_t, tuned_rw_etc_t, file, "active_profile")

manage_dirs_pattern(tuned_t, tuned_log_t, tuned_log_t)
append_files_pattern(tuned_t, tuned_log_t, tuned_log_t)
create_files_pattern(tuned_t, tuned_log_t, tuned_log_t)
setattr_files_pattern(tuned_t, tuned_log_t, tuned_log_t)
logging_log_filetrans(tuned_t, tuned_log_t, file, "tuned.log")

manage_files_pattern(tuned_t, tuned_var_run_t, tuned_var_run_t)
manage_dirs_pattern(tuned_t, tuned_var_run_t, tuned_var_run_t)
files_pid_filetrans(tuned_t, tuned_var_run_t, { dir file })

kernel_read_system_state(tuned_t)
kernel_read_network_state(tuned_t)
kernel_read_kernel_sysctls(tuned_t)
kernel_request_load_module(tuned_t)
kernel_rw_kernel_sysctl(tuned_t)
kernel_rw_hotplug_sysctls(tuned_t)
kernel_rw_vm_sysctls(tuned_t)
kernel_setsched(tuned_t)

corecmd_exec_bin(tuned_t)
corecmd_exec_shell(tuned_t)

dev_getattr_all_blk_files(tuned_t)
dev_getattr_all_chr_files(tuned_t)
dev_read_urand(tuned_t)
dev_rw_sysfs(tuned_t)
dev_rw_netcontrol(tuned_t)

files_dontaudit_search_home(tuned_t)
files_list_tmp(tuned_t)

fs_getattr_all_fs(tuned_t)

auth_use_nsswitch(tuned_t)

logging_send_syslog_msg(tuned_t)

mount_read_pid_files(tuned_t)

udev_read_pid_files(tuned_t)

userdom_dontaudit_search_user_home_dirs(tuned_t)

optional_policy(`
	dbus_system_bus_client(tuned_t)
	dbus_connect_system_bus(tuned_t)
')

# to allow disk tuning
optional_policy(`
	fstools_domtrans(tuned_t)
')

optional_policy(`
	gnome_dontaudit_search_config(tuned_t)
')

optional_policy(`
	mount_domtrans(tuned_t)
')

# to allow network interface tuning
optional_policy(`
	sysnet_domtrans_ifconfig(tuned_t)
')

optional_policy(`
	unconfined_dbus_send(tuned_t)
')