type sysinit, domain;
type sysinit_exec, exec_type, file_type;

init_daemon_domain(sysinit)

#============= sysinit ==============
allow sysinit devpts:chr_file { rw_file_perms };
allow sysinit shell_exec:file { rx_file_perms };
allow sysinit system_file:file { rx_file_perms };
allow sysinit self:process setcurrent;

userdebug_or_eng(`
    allow sysinit userinit_data_exec:file { r_file_perms relabelto };
    allow sysinit property_socket:sock_file write;
    allow sysinit init:unix_stream_socket connectto;
    allow sysinit userinit_prop:property_service set;
    allow sysinit sysfs:file rw_file_perms;
    allow sysinit sysfs_devices_system_cpu:file write;
    allow sysinit self:capability dac_override;
    allow sysinit userinit_exec:file { rx_file_perms };
')
