1 # rild - radio interface layer daemon 2 type rild, domain; 3 hal_server_domain(rild, hal_telephony) 4 5 net_domain(rild) 6 allowxperm rild self:udp_socket ioctl priv_sock_ioctls; 7 8 allow rild self:netlink_route_socket nlmsg_write; 9 allow rild kernel:system module_request; 10 allow rild self:capability { setpcap setgid setuid net_admin net_raw }; 11 allow rild alarm_device:chr_file rw_file_perms; 12 allow rild cgroup:dir create_dir_perms; 13 allow rild cgroup:{ file lnk_file } r_file_perms; 14 allow rild radio_device:chr_file rw_file_perms; 15 allow rild radio_device:blk_file r_file_perms; 16 allow rild mtd_device:dir search; 17 allow rild efs_file:dir create_dir_perms; 18 allow rild efs_file:file create_file_perms; 19 allow rild shell_exec:file rx_file_perms; 20 allow rild bluetooth_efs_file:file r_file_perms; 21 allow rild bluetooth_efs_file:dir r_dir_perms; 22 allow rild sdcard_type:dir r_dir_perms; 23 24 # property service 25 set_prop(rild, radio_prop) 26 27 allow rild tty_device:chr_file rw_file_perms; 28 29 # Allow rild to create and use netlink sockets. 30 allow rild self:netlink_socket create_socket_perms_no_ioctl; 31 allow rild self:netlink_generic_socket create_socket_perms_no_ioctl; 32 allow rild self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl; 33 34 # Access to wake locks 35 wakelock_use(rild) 36 37 r_dir_file(rild, proc) 38 r_dir_file(rild, proc_net) 39 r_dir_file(rild, sysfs_type) 40 r_dir_file(rild, system_file) 41 42 # granting the ioctl permission for rild should be device specific 43 allow rild self:socket create_socket_perms_no_ioctl; 44 45