sepolicy: Permissions for userinit
Change-Id: Icaf9d191841a6214925729e40d84a61a2ebf2296
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 7999ccd..4f82c38 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -12,6 +12,7 @@
/system/bin/sysinit u:object_r:sysinit_exec:s0
/system/etc/init.d/90userinit u:object_r:userinit_exec:s0
+/data/local/userinit.sh u:object_r:userinit_data_exec:s0
# For minivold in recovery
/sbin/minivold u:object_r:vold_exec:s0
diff --git a/sepolicy/sysinit.te b/sepolicy/sysinit.te
index dea539e..6fd0b85 100644
--- a/sepolicy/sysinit.te
+++ b/sepolicy/sysinit.te
@@ -9,3 +9,13 @@
allow sysinit system_file:file { rx_file_perms };
allow sysinit self:process setcurrent;
+userdebug_or_eng(`
+ allow sysinit userinit_data_exec:file { r_file_perms relabelto };
+ allow sysinit property_socket:sock_file write;
+ allow sysinit init:unix_stream_socket connectto;
+ allow sysinit userinit_prop:property_service set;
+ allow sysinit sysfs:file rw_file_perms;
+ allow sysinit sysfs_devices_system_cpu:file write;
+ allow sysinit self:capability dac_override;
+ allow sysinit userinit_exec:file { rx_file_perms };
+')
diff --git a/sepolicy/userinit.te b/sepolicy/userinit.te
index caddb08..7407287 100644
--- a/sepolicy/userinit.te
+++ b/sepolicy/userinit.te
@@ -1,3 +1,4 @@
type userinit_exec, exec_type, file_type;
+type userinit_data_exec, file_type;
allow userinit_exec userinit_prop:property_service set;