# rild - radio interface layer daemon type rild, domain; permissive rild; type rild_exec, exec_type, file_type; init_daemon_domain(rild) net_domain(rild) allow rild self:netlink_route_socket { setopt write }; allow rild kernel:system module_request; unix_socket_connect(rild, property, init) unix_socket_connect(rild, qemud, qemud) allow rild self:capability { setuid net_admin net_raw }; allow rild alarm_device:chr_file rw_file_perms; allow rild cgroup:dir create_dir_perms; allow rild radio_device:chr_file rw_file_perms; allow rild radio_device:blk_file r_file_perms; allow rild qemu_device:chr_file rw_file_perms; allow rild mtd_device:dir search; allow rild efs_file:dir create_dir_perms; allow rild efs_file:file create_file_perms; allow rild shell_exec:file rx_file_perms; allow rild bluetooth_efs_file:file r_file_perms; allow rild bluetooth_efs_file:dir r_dir_perms; allow rild radio_data_file:dir rw_dir_perms; allow rild radio_data_file:file create_file_perms; allow rild sdcard_type:dir r_dir_perms; allow rild system_data_file:dir create_dir_perms; allow rild system_data_file:file create_file_perms; allow rild system_file:file x_file_perms; dontaudit rild self:capability sys_admin; # property service allow rild rild_prop:property_service set; allow rild radio_prop:property_service set; # Read/Write to uart driver (for GPS) allow rild gps_device:chr_file rw_file_perms; allow rild tty_device:chr_file rw_file_perms; # Allow rild to create, bind, read, write to itself through a netlink socket allow rild self:netlink_socket { create bind read write }; allow rild self:netlink_kobject_uevent_socket { bind create getopt read setopt }; # Access to wake locks allow rild sysfs_wake_lock:file rw_file_perms; allow rild self:socket create_socket_perms;