type init_dp, domain;
type init_dp_exec, exec_type, vendor_file_type, file_type;

userdebug_or_eng(`
# Shell script exec (toolbox)
allow init_dp vendor_toolbox_exec:file rx_file_perms;
allow init_dp proc_cmdline:file r_file_perms;

# Find and write block device
allow init_dp block_device:dir search;
allow init_dp dp_block_device:blk_file rw_file_perms;

init_daemon_domain(init_dp)
')
