policy_module(rasdaemon)

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

type rasdaemon_t;
type rasdaemon_exec_t;
init_daemon_domain(rasdaemon_t, rasdaemon_exec_t)

type rasdaemon_var_t;
files_type(rasdaemon_var_t)

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

allow rasdaemon_t self:process getsched;
allow rasdaemon_t self:capability sys_rawio;

allow rasdaemon_t rasdaemon_var_t:dir manage_dir_perms;
allow rasdaemon_t rasdaemon_var_t:file manage_file_perms;

kernel_read_debugfs(rasdaemon_t)
kernel_read_system_state(rasdaemon_t)
kernel_read_vm_overcommit_sysctl(rasdaemon_t)
kernel_search_fs_sysctls(rasdaemon_t)

dev_read_sysfs(rasdaemon_t)
dev_read_urand(rasdaemon_t)
dev_rw_cpu_microcode(rasdaemon_t)

files_search_var_lib(rasdaemon_t)
fs_create_tracefs_dirs(rasdaemon_t)
fs_rw_tracefs_files(rasdaemon_t)

logging_send_syslog_msg(rasdaemon_t)
miscfiles_read_localization(rasdaemon_t)

