Home | History | Annotate | Download | only in sepolicy
      1 # kickstart processes and scripts (system process)
      2 type kickstart, domain;
      3 type kickstart_exec, file_type, exec_type;
      4 
      5 init_daemon_domain(kickstart)
      6 
      7 # Spawn /system/bin/efsks and /system/bin/ks
      8 allow kickstart kickstart_exec:file { open execute_no_trans getattr };
      9 
     10 # Let qcks access /dev/mdm node (modem driver)
     11 allow kickstart radio_device:chr_file r_file_perms;
     12 
     13 # Access USB host ks bridge drivers
     14 allow kickstart kickstart_device:chr_file rw_file_perms;
     15 
     16 # Read and write for EFS
     17 allow kickstart efs_block_device:blk_file rw_file_perms;
     18 allow kickstart block_device:dir { getattr write search };
     19 
     20 # Write contents of block device to kickstart data dir
     21 allow kickstart kickstart_data_file:file create_file_perms;
     22 allow kickstart kickstart_data_file:dir create_dir_perms;
     23 allow kickstart efs_data_file:file create_file_perms;
     24 allow kickstart efs_data_file:dir rw_dir_perms;
     25 
     26 # Run dd from toolbox on firmware files
     27 allow kickstart shell_exec:file rx_file_perms;
     28 allow kickstart system_file:file execute_no_trans;
     29 
     30 # Wake lock access
     31 wakelock_use(kickstart)
     32 
     33 # Talk to init over the property socket
     34 # ro.hw.ril.baseband : to indicate which modem is used for single ROM ARCH
     35 # sys.current.cnv : to indicate which NV file is used for dynamical customization
     36 unix_socket_connect(kickstart, property, init)
     37 allow kickstart system_prop:property_service set;
     38