From 06dfda6946b846004378c6340ef745c21696362d Mon Sep 17 00:00:00 2001 From: Subhajeet Muhuri Date: Wed, 4 Nov 2020 17:20:06 +0600 Subject: [PATCH] sdm660-common: Add sepolicy rules for power-libperfmgr Signed-off-by: OdSazib --- sepolicy/vendor/file.te | 1 + sepolicy/vendor/file_contexts | 3 +++ sepolicy/vendor/genfs_contexts | 5 +++++ sepolicy/vendor/hal_power_default.te | 11 +++++++++++ sepolicy/vendor/property.te | 1 + sepolicy/vendor/property_contexts | 3 +++ sepolicy/vendor/vendor_init.te | 1 + 7 files changed, 25 insertions(+) diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te index 4995dfb3..689d1ddc 100644 --- a/sepolicy/vendor/file.te +++ b/sepolicy/vendor/file.te @@ -1,3 +1,4 @@ +type debugfs_rpm, debugfs_type, fs_type; type fingerprint_data_file, file_type, data_file_type, core_data_file_type; type fingerprint_sysfs, fs_type, sysfs_type; type ir_dev_file, file_type; diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts index ec3da935..7b76e091 100644 --- a/sepolicy/vendor/file_contexts +++ b/sepolicy/vendor/file_contexts @@ -63,6 +63,9 @@ /persist/PRSensorData\.txt u:object_r:sensors_persist_file:s0 /persist u:object_r:mnt_vendor_file:s0 +# Power +/(vendor|system/vendor)/bin/hw/android\.hardware\.power@1\.3-service\.xiaomi_sdm660-libperfmgr u:object_r:hal_power_default_exec:s0 + # Shell Script /(vendor|system/vendor)/bin/init\.goodix\.sh u:object_r:init_fingerprint_exec:s0 /vendor/bin/sh u:object_r:vendor_shell_exec:s0 diff --git a/sepolicy/vendor/genfs_contexts b/sepolicy/vendor/genfs_contexts index ca02d5d1..d007846b 100644 --- a/sepolicy/vendor/genfs_contexts +++ b/sepolicy/vendor/genfs_contexts @@ -27,6 +27,11 @@ genfscon sysfs /devices/soc/800f000.qcom,spmi/spmi-0/spmi0-03/800f000.qcom,spmi: genfscon sysfs /devices/soc/800f000.qcom,spmi/spmi-0/spmi0-03/800f000.qcom,spmi:qcom,pm660l@3:qcom,leds@d000/leds/button-backlight1 u:object_r:sysfs_graphics:s0 genfscon sysfs /devices/soc/800f000.qcom,spmi/spmi-0/spmi0-03/800f000.qcom,spmi:qcom,pm660l@3:qcom,leds@d000/leds/white u:object_r:sysfs_graphics:s0 +# Power +genfscon debugfs /system_stats u:object_r:debugfs_rpm:s0 +genfscon sysfs /devices/soc/soc:qcom,gpubw u:object_r:sysfs_devfreq:s0 +genfscon sysfs /devices/soc/soc:qcom,cpubw u:object_r:sysfs_devfreq:s0 + # Touchscreen genfscon proc /nvt_wake_gesture u:object_r:proc_dt2w:s0 genfscon sysfs /touchpanel u:object_r:sysfs_touchpanel:s0 diff --git a/sepolicy/vendor/hal_power_default.te b/sepolicy/vendor/hal_power_default.te index 2ed7de43..7a60e770 100644 --- a/sepolicy/vendor/hal_power_default.te +++ b/sepolicy/vendor/hal_power_default.te @@ -6,3 +6,14 @@ allow hal_power_default proc_dt2w:file rw_file_perms; allow hal_power_default sysfs_touchpanel:file rw_file_perms; allow hal_power_default sysfs_touchpanel:dir search; allow hal_power_default sysfs_tap_to_wake:file rw_file_perms; + +r_dir_file(hal_power_default, debugfs_rpm) +r_dir_file(hal_power_default, sysfs_graphics) + +allow hal_power_default device_latency:chr_file rw_file_perms; +allow hal_power_default { sysfs_devfreq sysfs_kgsl }:dir search; +allow hal_power_default { sysfs_devfreq sysfs_kgsl }:{ file lnk_file } rw_file_perms; +allow hal_power_default sysfs_devices_system_cpu:file rw_file_perms; + +set_prop(hal_power_default, vendor_power_prop) + diff --git a/sepolicy/vendor/property.te b/sepolicy/vendor/property.te index 77f4d8ab..149e8797 100644 --- a/sepolicy/vendor/property.te +++ b/sepolicy/vendor/property.te @@ -9,3 +9,4 @@ type thermal_engine_prop, property_type; # Power type power_prop, property_type; +type vendor_power_prop, property_type; diff --git a/sepolicy/vendor/property_contexts b/sepolicy/vendor/property_contexts index 67f32566..8e201d52 100644 --- a/sepolicy/vendor/property_contexts +++ b/sepolicy/vendor/property_contexts @@ -38,6 +38,9 @@ persist.vendor.sys.provision.status u:object_r:mlipay_prop:s0 # MPCTL sys.post_boot.parsed u:object_r:vendor_mpctl_prop:s0 +# Power +vendor.powerhal. u:object_r:vendor_power_prop:s0 + # Thermal engine persist.sys.thermal. u:object_r:thermal_engine_prop:s0 sys.thermal. u:object_r:thermal_engine_prop:s0 diff --git a/sepolicy/vendor/vendor_init.te b/sepolicy/vendor/vendor_init.te index 43260e63..1166234e 100644 --- a/sepolicy/vendor/vendor_init.te +++ b/sepolicy/vendor/vendor_init.te @@ -34,3 +34,4 @@ set_prop(vendor_init, exported_camera_prop) set_prop(vendor_init, vendor_camera_prop) set_prop(vendor_init, freq_prop) set_prop(vendor_init, fm_prop) +set_prop(vendor_init, vendor_power_prop)