diff --git a/policy/modules/kernel/domain.if b/policy/modules/kernel/domain.if index ecb6642ebe..9f3a8db2a0 100644 --- a/policy/modules/kernel/domain.if +++ b/policy/modules/kernel/domain.if @@ -1806,3 +1806,21 @@ interface(`domain_dyntrans',` dyntrans_pattern($1, domain) ') + +######################################## +## +## Allow read perf_event file descriptors from all domains +## +## +## +## Domain allowed access. +## +## +# +interface(`domain_read_perf_event_all_domains',` + gen_require(` + attribute domain; + ') + + allow $1 domain:perf_event read; +') diff --git a/policy/modules/roles/unconfineduser.te b/policy/modules/roles/unconfineduser.te index 8471d8d2b9..fd53f6fa95 100644 --- a/policy/modules/roles/unconfineduser.te +++ b/policy/modules/roles/unconfineduser.te @@ -81,6 +81,8 @@ kernel_rw_unlabeled_rawip_socket(unconfined_t) kernel_rw_unlabeled_smc_socket(unconfined_t) kernel_rw_unlabeled_vsock_socket(unconfined_t) +domain_read_perf_event_all_domains(unconfined_t) + files_create_boot_flag(unconfined_t) files_create_default_dir(unconfined_t) files_root_filetrans_default(unconfined_t, dir)