type crash_collector, domain, device_domain_deprecated;
type crash_collector_exec, exec_type, file_type;
type crash_reports_data_file, file_type, data_file_type;

# To start crash_collector via /proc/sys/core_pattern.
domain_auto_trans(kernel, crash_collector_exec, crash_collector)
allow crash_collector kernel:fifo_file read;
allow crash_collector crash_collector_exec:file execute_no_trans;
allow crash_collector kernel:fd use;

# To stop being root.
allow crash_collector self:capability { setuid setgid };

# To read exec files.
allow crash_collector exec_type:file r_file_perms;

# To write crash reports in /data/system/crash_reports/
allow crash_collector crash_reports_data_file:dir create_dir_perms;
allow crash_collector crash_reports_data_file:file create_file_perms;