type mm_events, domain, coredomain;
type mm_events_exec, system_file_type, exec_type, file_type;

init_daemon_domain(mm_events)

allow mm_events shell_exec:file rx_file_perms;

# Allow running the sleep command to rate limit attempts
# to arm mm_events on failure.
allow mm_events toolbox_exec:file rx_file_perms;

allow mm_events perfetto_exec:file rx_file_perms;

domain_auto_trans(mm_events, perfetto_exec, perfetto)
