policy_module(ksmtuned)

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

type ksmtuned_t;
type ksmtuned_exec_t;
init_daemon_domain(ksmtuned_t, ksmtuned_exec_t)

type ksmtuned_initrc_exec_t;
init_script_file(ksmtuned_initrc_exec_t)

type ksmtuned_log_t;
logging_log_file(ksmtuned_log_t)

type ksmtuned_runtime_t alias ksmtuned_var_run_t;
files_runtime_file(ksmtuned_runtime_t)

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

allow ksmtuned_t self:capability { sys_ptrace sys_tty_config };
allow ksmtuned_t self:cap_userns sys_ptrace;
allow ksmtuned_t self:fifo_file rw_fifo_file_perms;

manage_dirs_pattern(ksmtuned_t, ksmtuned_log_t, ksmtuned_log_t)
append_files_pattern(ksmtuned_t, ksmtuned_log_t, ksmtuned_log_t)
create_files_pattern(ksmtuned_t, ksmtuned_log_t, ksmtuned_log_t)
setattr_files_pattern(ksmtuned_t, ksmtuned_log_t, ksmtuned_log_t)
logging_log_filetrans(ksmtuned_t, ksmtuned_log_t, { file dir })

manage_files_pattern(ksmtuned_t, ksmtuned_runtime_t, ksmtuned_runtime_t)
files_runtime_filetrans(ksmtuned_t, ksmtuned_runtime_t, file)

kernel_read_system_state(ksmtuned_t)

corecmd_exec_bin(ksmtuned_t)
corecmd_exec_shell(ksmtuned_t)

dev_rw_sysfs(ksmtuned_t)

domain_read_all_domains_state(ksmtuned_t)

mls_file_read_to_clearance(ksmtuned_t)

term_use_all_terms(ksmtuned_t)

auth_use_nsswitch(ksmtuned_t)

logging_send_syslog_msg(ksmtuned_t)

miscfiles_read_localization(ksmtuned_t)
