| # kickstart processes and scripts (system process) |
| type kickstart, domain, device_domain_deprecated; |
| type kickstart_exec, file_type, exec_type; |
| |
| init_daemon_domain(kickstart) |
| |
| # Spawn /system/bin/efsks and /system/bin/ks |
| allow kickstart kickstart_exec:file { open execute_no_trans getattr }; |
| |
| # Let qcks access /dev/mdm node (modem driver) |
| allow kickstart radio_device:chr_file r_file_perms; |
| |
| # Access USB host ks bridge drivers |
| allow kickstart kickstart_device:chr_file rw_file_perms; |
| |
| # Read and write for EFS |
| allow kickstart efs_block_device:blk_file rw_file_perms; |
| allow kickstart block_device:dir { getattr write search }; |
| |
| # Write contents of block device to kickstart data dir |
| allow kickstart kickstart_data_file:file create_file_perms; |
| allow kickstart kickstart_data_file:dir create_dir_perms; |
| allow kickstart efs_data_file:file create_file_perms; |
| allow kickstart efs_data_file:dir rw_dir_perms; |
| |
| # Run dd from toolbox on firmware files |
| allow kickstart shell_exec:file rx_file_perms; |
| allow kickstart system_file:file execute_no_trans; |
| allow kickstart toolbox_exec:file rx_file_perms; |
| |
| # Wake lock access |
| wakelock_use(kickstart) |
| |
| # ro.hw.ril.baseband : to indicate which modem is used for single ROM ARCH |
| # sys.current.cnv : to indicate which NV file is used for dynamical customization |
| set_prop(kickstart, system_prop) |