1 # Modem helper service. Spawns kickstart. 2 type mdm_helper, domain; 3 type mdm_helper_exec, file_type, exec_type; 4 5 init_daemon_domain(mdm_helper) 6 7 # access /sys/power/wakelock 8 allow mdm_helper self:capability dac_override; 9 10 # Spawn /system/bin/efsks and /system/bin/ks 11 allow mdm_helper mdm_helper_exec:file rx_file_perms; 12 13 # Access USB host ks bridge drivers 14 allow mdm_helper mdm_helper_device:chr_file rw_file_perms; 15 16 # Read and write for EFS 17 allow mdm_helper efs_block_device:blk_file rw_file_perms; 18 allow mdm_helper block_device:dir { getattr write search }; 19 20 # Let qcks access /dev/mdm node (modem driver)?? 21 allow mdm_helper radio_device:chr_file r_file_perms; 22 # Access the modem Hand Over Block (HOB) 23 allow mdm_helper modem_hob_block_device:blk_file rw_file_perms; 24 # ks checks the writeback path (dir) for the EFS block devices to make sure it is valid 25 allow mdm_helper block_device:dir getattr; 26 27 allow mdm_helper firmware_file:dir r_dir_perms; 28 allow mdm_helper firmware_file:file r_file_perms; 29 30 allow mdm_helper fsg_file:dir r_dir_perms; 31 allow mdm_helper fsg_file:file r_file_perms; 32 33 allow mdm_helper persist_file:dir r_dir_perms; 34 allow mdm_helper persist_modem_file:dir rw_dir_perms; 35 allow mdm_helper persist_modem_file:file create_file_perms; 36 37 # Runs commands via sh. 38 allow mdm_helper shell_exec:file rx_file_perms; 39 # TODO remove once the modem team removes system() calls to toolbox functions 40 allow mdm_helper system_file:file x_file_perms; 41 42 allow mdm_helper sysfs_xhci_msm_hsic:dir r_dir_perms; 43 allow mdm_helper sysfs_xhci_msm_hsic:file rw_file_perms; 44 allow mdm_helper sysfs_msm_hsic_host:file write; 45 46 # host_ready not labeled correctly 47 allow mdm_helper sysfs:file write; 48 49 wakelock_use(mdm_helper) 50 51 # change ownership of modem log files 52 allow mdm_helper self:capability { fowner chown fsetid }; 53 54 # Write ram dump logs 55 allow mdm_helper ram_dump_logs:dir create_dir_perms; 56 allow mdm_helper ram_dump_logs:file create_file_perms; 57 58 # write modem logs to dropbox 59 allow mdm_helper dropbox_data_file:dir rw_dir_perms; 60 allow mdm_helper dropbox_data_file:file create_file_perms; 61 62 # write radio properties 63 unix_socket_connect(mdm_helper, property, init) 64 allow mdm_helper radio_prop:property_service set; 65