policy_module(hwloc, 1.0.0)

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

attribute_role hwloc_dhwd_roles;
roleattribute system_r hwloc_dhwd_roles;

type hwloc_dhwd_t;
type hwloc_dhwd_exec_t;
init_system_domain(hwloc_dhwd_t, hwloc_dhwd_exec_t)
role hwloc_dhwd_roles types hwloc_dhwd_t;

type hwloc_var_run_t;
files_pid_file(hwloc_var_run_t)

type hwloc_dhwd_unit_t;
systemd_unit_file(hwloc_dhwd_unit_t)

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

allow hwloc_dhwd_t hwloc_var_run_t:dir manage_dir_perms;
allow hwloc_dhwd_t hwloc_var_run_t:file manage_file_perms;
files_pid_filetrans(hwloc_dhwd_t, hwloc_var_run_t, dir)

dev_read_sysfs(hwloc_dhwd_t)
