aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xrootdir/etc/init.qcom.usb.rc1
-rw-r--r--sepolicy/cnd.te2
-rw-r--r--sepolicy/dpmd.te3
-rw-r--r--sepolicy/file.te4
-rw-r--r--sepolicy/file_contexts83
-rw-r--r--sepolicy/genfs_contexts3
-rw-r--r--sepolicy/hal_audio_default.te3
-rw-r--r--sepolicy/hal_bluetooth_default.te2
-rw-r--r--sepolicy/hal_camera_default.te1
-rw-r--r--sepolicy/hal_light_default.te1
-rw-r--r--sepolicy/hal_power_default.te1
-rw-r--r--sepolicy/mm-qcamerad.te1
-rw-r--r--sepolicy/priv_app.te2
-rw-r--r--sepolicy/qseeproxy.te1
-rw-r--r--sepolicy/qti_init_shell.te4
-rw-r--r--sepolicy/radio.te1
-rw-r--r--sepolicy/rild.te10
-rw-r--r--sepolicy/servicemanager.te6
-rw-r--r--sepolicy/system_app.te1
-rw-r--r--sepolicy/zygote.te1
20 files changed, 96 insertions, 35 deletions
diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc
index da54d40..890ff8d 100755
--- a/rootdir/etc/init.qcom.usb.rc
+++ b/rootdir/etc/init.qcom.usb.rc
@@ -42,6 +42,7 @@ service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh
class core
user root
oneshot
+ seclabel u:r:qti_init_shell:s0
# Following are the parameters required for usb functionality. They provide configurable options like
# product_id/vendor id and allows specifying required functions:
diff --git a/sepolicy/cnd.te b/sepolicy/cnd.te
index 2ff6d41..b66fa5f 100644
--- a/sepolicy/cnd.te
+++ b/sepolicy/cnd.te
@@ -1 +1 @@
-allow cnd cnd:capability { setuid dac_override chown dac_override dac_read_search setgid fsetid };
+allow cnd cnd:capability { setuid dac_override chown dac_override dac_read_search setgid fsetid net_raw };
diff --git a/sepolicy/dpmd.te b/sepolicy/dpmd.te
new file mode 100644
index 0000000..b3a868b
--- /dev/null
+++ b/sepolicy/dpmd.te
@@ -0,0 +1,3 @@
+allow dpmd dpmd:capability { dac_override dac_read_search chown fsetid };
+allow dpmd socket_device:dir { add_name write };
+allow dpmd socket_device:sock_file { create setattr };
diff --git a/sepolicy/file.te b/sepolicy/file.te
index a74868d..bcf12b5 100644
--- a/sepolicy/file.te
+++ b/sepolicy/file.te
@@ -1,8 +1,6 @@
-type debugfs_msm_core, debugfs_type, fs_type;
-type debugfs_rmts, debugfs_type, fs_type;
type fpc_data_file, file_type;
type fpc_images_file, file_type;
-type nv_data_file, file_type;
+type nv_data_file, file_type, data_file_type;
type sysfs_fpc_irq, sysfs_type, fs_type;
type sysfs_fpc_proximity, sysfs_type, fs_type;
type sysfs_fpc_utouch_disable, fs_type, sysfs_type;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 08ee6ab..0338e52 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -1,42 +1,71 @@
-# We have a couple of non-standard NV partitions
-/dev/block/bootdevice/by-name/oem_dycnvbk u:object_r:modem_efs_partition_device:s0
-/dev/block/bootdevice/by-name/oem_stanvbk u:object_r:modem_efs_partition_device:s0
+# charger
+/dev/dash u:object_r:input_device:s0
+/sys/devices/soc/.*ssusb/power_supply/usb(/.*)? u:object_r:sysfs_usb_supply:s0
+/sys/devices/soc/qpnp-smbcharger-[0-9a-f]+/power_supply/battery(/.*)? u:object_r:sysfs_batteryinfo:s0
+
+# Data files
+/data/decrypt.txt u:object_r:thermal_data_file:s0
+/data/misc/netmgr/log.txt u:object_r:netmgrd_data_file:s0
-/dev/block/mmcblk0p40 u:object_r:persist_block_device:s0
+# fingerprint
+/dev/fpc1020 u:object_r:fpc1020_device:s0
+/data/fpc(/.*)? u:object_r:fpc_data_file:s0
+/data/fpc_images(/.*)? u:object_r:fpc_images_file:s0
+/sys/devices/soc/soc:fpc_fpc1020/irq u:object_r:sysfs_fpc_irq:s0
+/sys/devices/soc/soc:fpc_fpc1020/proximity_state u:object_r:sysfs_fpc_proximity:s0
+/sys/devices/soc/soc:fpc1020/utouch_disable u:object_r:sysfs_fpc_utouch_disable:s0
# FRP partition
/dev/block/bootdevice/by-name/config u:object_r:frp_block_device:s0
-/persist/sensors/gyro_sensitity_cal u:object_r:sensors_persist_file:s0
+# fsc
+/dev/block/mmcblk0p35 u:object_r:modem_efs_partition_device:s0
-/sys/kernel/debug/rmt_storage/rmts u:object_r:qti_debugfs:s0
+# fsg
+/dev/block/mmcblk0p11 u:object_r:modem_efs_partition_device:s0
-/persist/rfs(/.*)? u:object_r:rfs_file:s0
+# legacy paths
+/system/bin/qseecomd u:object_r:tee_exec:s0
+/system/bin/irsc_util u:object_r:irsc_util_exec:s0
+/system/bin/rmt_storage u:object_r:rmt_storage_exec:s0
+/system/bin/sensors.qcom u:object_r:sensors_exec:s0
+/system/bin/adsprpcd u:object_r:adsprpcd_exec:s0
+/system/bin/cnd u:object_r:cnd_exec:s0
+/system/bin/imsqmidaemon u:object_r:ims_exec:s0
+/system/bin/imsdatadaemon u:object_r:ims_exec:s0
+/system/bin/energy-awareness u:object_r:energyawareness_exec:s0
+/system/bin/tftp_server u:object_r:rfs_access_exec:s0
+/system/bin/port-bridge u:object_r:port-bridge_exec:s0
+/system/bin/netmgrd u:object_r:netmgrd_exec:s0
+/system/bin/pm-service u:object_r:per_mgr_exec:s0
+/system/bin/pm-proxy u:object_r:per_mgr_exec:s0
+/system/bin/time_daemon u:object_r:time_daemon_exec:s0
+/system/bin/cnss-daemon u:object_r:wcnss_service_exec:s0
-/data/oemnvitems(/.*)? u:object_r:nv_data_file:s0
+# modemst1
+/dev/block/mmcblk0p37 u:object_r:modem_efs_partition_device:s0
-/dev/fpc1020 u:object_r:fpc1020_device:s0
-/data/fpc(/.*)? u:object_r:fpc_data_file:s0
-/data/fpc_images(/.*)? u:object_r:fpc_images_file:s0
-/sys/devices/soc/soc:fpc_fpc1020/irq u:object_r:sysfs_fpc_irq:s0
-/sys/devices/soc/soc:fpc_fpc1020/proximity_state u:object_r:sysfs_fpc_proximity:s0
-/sys/devices/soc/soc:fpc1020/utouch_disable u:object_r:sysfs_fpc_utouch_disable:s0
+# modemst2
+/dev/block/mmcblk0p38 u:object_r:modem_efs_partition_device:s0
-/dev/dash u:object_r:input_device:s0
-/sys/devices/soc/.*ssusb/power_supply/usb(/.*)? u:object_r:sysfs_usb_supply:s0
+# NV partitions
+/dev/block/bootdevice/by-name/oem_dycnvbk u:object_r:modem_efs_partition_device:s0
+/dev/block/bootdevice/by-name/oem_stanvbk u:object_r:modem_efs_partition_device:s0
+/data/oemnvitems(/.*)? u:object_r:nv_data_file:s0
-/sys/devices/soc/qpnp-smbcharger-[0-9a-f]+/power_supply/battery(/.*)? u:object_r:sysfs_batteryinfo:s0
+# persist
+/dev/block/mmcblk0p40 u:object_r:persist_block_device:s0
+/persist/rfs(/.*)? u:object_r:rfs_file:s0
+/persist/sensors/gyro_sensitity_cal u:object_r:sensors_persist_file:s0
-/sys/kernel/debug/msm_core(/.*)? u:object_r:debugfs_msm_core:s0
+# readmac
+/system/bin/readmac u:object_r:readmac_exec:s0
-/system/bin/readmac u:object_r:readmac_exec:s0
+# ril
+/system/vendor/qcril.db u:object_r:nv_data_file:s0
-# Data files
-/data/decrypt.txt u:object_r:thermal_data_file:s0
-/data/misc/netmgr/log.txt u:object_r:netmgrd_data_file:s0
+# ssd
+/dev/block/mmcblk0p36 u:object_r:ssd_device:s0
-# legacy paths
-/system/bin/qseecomd u:object_r:tee_exec:s0
-/system/bin/irsc_util u:object_r:irsc_util_exec:s0
-/system/bin/rmt_storage u:object_r:rmt_storage_exec:s0
-/system/bin/sensors.qcom u:object_r:sensors_exec:s0
+# userdata
+/dev/block/mmcblk0p48 u:object_r:userdata_block_device:s0
diff --git a/sepolicy/genfs_contexts b/sepolicy/genfs_contexts
new file mode 100644
index 0000000..3ffc13b
--- /dev/null
+++ b/sepolicy/genfs_contexts
@@ -0,0 +1,3 @@
+genfscon debugfs /rmt_storage/rmts u:object_r:qti_debugfs:s0
+
+genfscon debugfs /msm_core u:object_r:qti_debugfs:s0
diff --git a/sepolicy/hal_audio_default.te b/sepolicy/hal_audio_default.te
new file mode 100644
index 0000000..950d6bc
--- /dev/null
+++ b/sepolicy/hal_audio_default.te
@@ -0,0 +1,3 @@
+allow hal_audio_default socket_device:sock_file write;
+allow hal_audio_default audio_data_file:sock_file { unlink create setattr };
+allow hal_audio_default thermal-engine:unix_stream_socket connectto;
diff --git a/sepolicy/hal_bluetooth_default.te b/sepolicy/hal_bluetooth_default.te
new file mode 100644
index 0000000..e60f709
--- /dev/null
+++ b/sepolicy/hal_bluetooth_default.te
@@ -0,0 +1,2 @@
+allow hal_bluetooth_default bluetooth_data_file:dir search;
+allow hal_bluetooth_default bluetooth_data_file:file { append getattr open read write };
diff --git a/sepolicy/hal_camera_default.te b/sepolicy/hal_camera_default.te
new file mode 100644
index 0000000..30dbf6a
--- /dev/null
+++ b/sepolicy/hal_camera_default.te
@@ -0,0 +1 @@
+allow hal_camera_default camera_data_file:sock_file write;
diff --git a/sepolicy/hal_light_default.te b/sepolicy/hal_light_default.te
new file mode 100644
index 0000000..fdc5c46
--- /dev/null
+++ b/sepolicy/hal_light_default.te
@@ -0,0 +1 @@
+allow hal_light_default sysfs:file { open read write };
diff --git a/sepolicy/hal_power_default.te b/sepolicy/hal_power_default.te
new file mode 100644
index 0000000..316a62c
--- /dev/null
+++ b/sepolicy/hal_power_default.te
@@ -0,0 +1 @@
+allow hal_power_default sysfs:file { write open };
diff --git a/sepolicy/mm-qcamerad.te b/sepolicy/mm-qcamerad.te
new file mode 100644
index 0000000..6b6626b
--- /dev/null
+++ b/sepolicy/mm-qcamerad.te
@@ -0,0 +1 @@
+allow mm-qcamerad camera_data_file:{ file sock_file } { create unlink };
diff --git a/sepolicy/priv_app.te b/sepolicy/priv_app.te
new file mode 100644
index 0000000..5b470fe
--- /dev/null
+++ b/sepolicy/priv_app.te
@@ -0,0 +1,2 @@
+allow priv_app device:dir { open read };
+allow priv_app { camera_prop proc_interrupts }:file { open read };
diff --git a/sepolicy/qseeproxy.te b/sepolicy/qseeproxy.te
index edd215b..9eeb608 100644
--- a/sepolicy/qseeproxy.te
+++ b/sepolicy/qseeproxy.te
@@ -1 +1,2 @@
allow qseeproxy servicemanager:binder { call transfer };
+allow qseeproxy default_android_service:service_manager find;
diff --git a/sepolicy/qti_init_shell.te b/sepolicy/qti_init_shell.te
index 67789aa..ce9fa4c 100644
--- a/sepolicy/qti_init_shell.te
+++ b/sepolicy/qti_init_shell.te
@@ -1,4 +1,6 @@
allow qti_init_shell shell_exec:file { r_file_perms entrypoint };
allow qti_init_shell toolbox_exec:file { r_file_perms execute_no_trans execute };
-allow qti_init_shell sysfs:file { rw_file_perms };
+allow qti_init_shell sysfs:file rw_file_perms;
+
+allow qti_init_shell kmsg_device:chr_file { open write };
diff --git a/sepolicy/radio.te b/sepolicy/radio.te
new file mode 100644
index 0000000..c23fafe
--- /dev/null
+++ b/sepolicy/radio.te
@@ -0,0 +1 @@
+allow radio qmuxd_socket:dir search;
diff --git a/sepolicy/rild.te b/sepolicy/rild.te
index e5cff92..3238c3d 100644
--- a/sepolicy/rild.te
+++ b/sepolicy/rild.te
@@ -1,3 +1,13 @@
allow rild servicemanager:binder call;
allow rild nv_data_file:dir rw_dir_perms;
allow rild nv_data_file:file create_file_perms;
+
+allow rild radio_data_file:dir search;
+allow rild vendor_configs_file:file ioctl;
+
+allow rild qcom_ims_prop:property_service set;
+
+allow rild default_android_service:service_manager find;
+
+allow rild radio_data_file:file { create getattr ioctl lock open read unlink write };
+allow rild radio_data_file:dir { add_name getattr open read remove_name write };
diff --git a/sepolicy/servicemanager.te b/sepolicy/servicemanager.te
index 6a17ff7..984bb16 100644
--- a/sepolicy/servicemanager.te
+++ b/sepolicy/servicemanager.te
@@ -1,4 +1,4 @@
-allow servicemanager { init per_mgr qseeproxy }:dir search;
-allow servicemanager per_mgr:file { read open };
+allow servicemanager { init per_mgr rild qseeproxy }:dir search;
allow servicemanager { per_mgr qseeproxy }:process getattr;
-allow servicemanager qseeproxy:file { read open };
+allow servicemanager { per_mgr rild qseeproxy }:file { read open };
+allow servicemanager rild:process getattr;
diff --git a/sepolicy/system_app.te b/sepolicy/system_app.te
index 25177b5..44c918c 100644
--- a/sepolicy/system_app.te
+++ b/sepolicy/system_app.te
@@ -1 +1,2 @@
allow system_app sysfs_fpc_proximity:file rw_file_perms;
+allow system_app time_daemon:unix_stream_socket connectto;
diff --git a/sepolicy/zygote.te b/sepolicy/zygote.te
new file mode 100644
index 0000000..e830681
--- /dev/null
+++ b/sepolicy/zygote.te
@@ -0,0 +1 @@
+allow zygote cgroup:file create;