summaryrefslogtreecommitdiffstats
path: root/selinux/system_server.te
diff options
context:
space:
mode:
Diffstat (limited to 'selinux/system_server.te')
-rw-r--r--selinux/system_server.te12
1 files changed, 12 insertions, 0 deletions
diff --git a/selinux/system_server.te b/selinux/system_server.te
index e42bdd0..a6b65ce 100644
--- a/selinux/system_server.te
+++ b/selinux/system_server.te
@@ -7,6 +7,7 @@ allow system_server sysfs:file { read open write };
allow system_server self:capability { sys_module };
allow system_server efs_file:dir search;
+allow system_server efs_file:file read;
allow system_server efs_device_file:dir search;
allow system_server uhid_device:chr_file { read ioctl write open };
@@ -16,3 +17,14 @@ allow system_server wifi_data_file:file { read open };
allow system_server default_prop:property_service set;
allow system_server gpsd:binder transfer;
+type_transition system_server system_data_file:fifo_file gps_data_file ".gps.interface.pipe.to_jni";
+
+# Access .gps.interface.pipe.to_gpsd.
+allow system_server gps_data_file:dir search;
+allow system_server gps_data_file:fifo_file { write setattr rw_file_perms };
+
+# Access /data/sensors/gps* socket
+allow system_server gps_data_file:sock_file create_file_perms;
+allow system_server gps_data_file:dir rw_dir_perms;
+allow system_server gps_data_file:file rw_file_perms;
+