From dcbab907eaf373c0633e15ece0c391d2dc0b55cf Mon Sep 17 00:00:00 2001 From: Stephen Smalley Date: Tue, 29 Oct 2013 14:42:39 -0400 Subject: [PATCH] Confine rild, but leave it permissive for now. Change-Id: I6df9981b2af0150c6379a0ebdbe0a8597c994f4a Signed-off-by: Stephen Smalley --- rild.te | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/rild.te b/rild.te index 9aba8a288..d9752f799 100644 --- a/rild.te +++ b/rild.te @@ -1,10 +1,47 @@ # rild - radio interface layer daemon type rild, domain; +permissive rild; type rild_exec, exec_type, file_type; init_daemon_domain(rild) net_domain(rild) -unconfined_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;