1 # remote storage process (runs as nobody) 2 type rmt, domain; 3 type rmt_exec, exec_type, file_type; 4 5 # Started by init 6 init_daemon_domain(rmt) 7 8 # Drop (user, group) to (nobody, nobody) 9 allow rmt self:capability { setuid setgid }; 10 11 # opens and reads /dev/block/mmcblk0 12 allow rmt root_block_device:blk_file r_file_perms; 13 allow rmt block_device:dir r_dir_perms; 14 15 # Allow reads/writes to modem related block devices 16 allow rmt modem_block_device:blk_file rw_file_perms; 17 18 # Allow shared memory logging access 19 allow rmt shared_log_device:chr_file rw_file_perms; 20 21 allow rmt self:socket create_socket_perms; 22 allow rmt cgroup:dir { create add_name }; 23 24 # Wake lock access 25 wakelock_use(rmt) 26 27 # Allow access to /dev/uio0. 28 allow rmt uio_device:chr_file rw_file_perms; 29 30 # rmt_storage shuts itself down if there is an unknown value of ro.baseband 31 unix_socket_connect(rmt, property, init) 32 allow rmt ctl_rmt_prop:property_service set; 33