sm6250-common: Kang sepolicy for libperfmgr and powerstats from sunfish

Signed-off-by: Subhajeet Muhuri <subhajeet.muhuri@gmail.com>
Signed-off-by: Volodymyr Zhdanov <wight554@gmail.com>

 Conflicts:
	sepolicy/vendor/file_contexts
This commit is contained in:
Subhajeet Muhuri 2020-08-30 11:55:37 +05:30 committed by Volodymyr Zhdanov
parent ecf1544b3b
commit 9dabc4c180
10 changed files with 74 additions and 0 deletions

9
sepolicy/vendor/file.te vendored Normal file
View File

@ -0,0 +1,9 @@
# Power HAL
type proc_sched_energy_aware, proc_type, fs_type;
type sysfs_msm_subsys, sysfs_type, fs_type;
# PowerStats HAL
type sysfs_iio_devices, fs_type, sysfs_type;
type sysfs_msm_wlan, sysfs_type, fs_type;
type sysfs_power_stats, sysfs_type, fs_type;
type sysfs_power_stats_ignore, sysfs_type, fs_type;

View File

@ -2,3 +2,7 @@
/vendor/bin/batteryd u:object_r:batteryd_exec:s0
/vendor/bin/batterysecret u:object_r:batterysecret_exec:s0
/mnt/vendor/persist/subsys(/.*)? u:object_r:persist_subsys_file:s0
# Power
/vendor/bin/hw/android\.hardware\.power@1\.3-service\.xiaomi_sm6250 u:object_r:hal_power_default_exec:s0
/vendor/bin/hw/android\.hardware\.power\.stats@1\.0-service\.xiaomi_sm6250 u:object_r:hal_power_stats_default_exec:s0

21
sepolicy/vendor/genfs_contexts vendored Normal file
View File

@ -0,0 +1,21 @@
# Power HAL
genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/5000000.qcom,kgsl-3d0 u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,gpubw u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,gpubw/devfreq u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu-cpu-llcc-bw u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu-llcc-ddr-bw u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu0-cpu-l3-lat u:object_r:sysfs_msm_subsys:s0
genfscon sysfs /devices/platform/soc/soc:qcom,cpu6-cpu-l3-lat u:object_r:sysfs_msm_subsys:s0
genfscon proc /sys/kernel/sched_energy_aware u:object_r:proc_sched_energy_aware:s0
# PowerStats HAL
genfscon sysfs /bus/iio/devices u:object_r:sysfs_iio_devices:s0
genfscon sysfs /kernel/wlan u:object_r:sysfs_msm_wlan:s0
genfscon sysfs /power/system_sleep/stats u:object_r:sysfs_power_stats:s0
genfscon sysfs /power/rpmh_stats/master_stats u:object_r:sysfs_power_stats:s0
genfscon sysfs /kernel/wlan/power_stats u:object_r:sysfs_power_stats:s0
genfscon sysfs /devices/platform/soc/a8c000.i2c/i2c-2/2-0010/iio:device2 u:object_r:sysfs_power_stats:s0
# Not used by PowerStats Hal
genfscon sysfs /devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-04/c440000.qcom,spmi:qcom,pm6150l@4:vadc@3100/iio:device1 u:object_r:sysfs_power_stats_ignore:s0

View File

@ -1,3 +1,16 @@
# Allow hal_power_default to write to dt2w nodes
allow hal_power_default input_device:dir r_dir_perms;
allow hal_power_default input_device:chr_file rw_file_perms;
# To get/set powerhal state property
set_prop(hal_power_default, power_prop)
allow hal_power_default {
sysfs_devices_system_cpu
sysfs_msm_subsys
proc_sched_energy_aware
}:file rw_file_perms;
allow hal_power_default sysfs_msm_subsys:dir search;
allow hal_power_default latency_device:chr_file rw_file_perms;
# The following folder is incidentally accessed by hal_power_default and is not needed.
dontaudit hal_power_default cgroup:file read;

View File

@ -0,0 +1,14 @@
allow hal_power_stats_default sysfs_msm_wlan:dir search; # Needed to traverse to wlan stats file
get_prop(hal_power_stats_default, exported_wifi_prop) # Needed to detect wifi on/off
r_dir_file(hal_power_stats_default, sysfs_iio_devices) # Needed to traverse odpm files
r_dir_file(hal_power_stats_default, sysfs_power_stats) # Needed to traverse platform low power stats
r_dir_file(hal_power_stats_default, sysfs_msm_subsys) # Needed to traverse subsystem low power stats
# The following folders are incidentally accessed by hal_power_stats_default and are not needed.
dontaudit hal_power_stats_default sysfs_power_stats_ignore:dir r_dir_perms;
dontaudit hal_power_stats_default sysfs_power_stats_ignore:file r_file_perms;
dontaudit hal_power_stats_default debugfs_wlan:dir search;
dontaudit hal_power_stats_default sysfs:file read;
vndbinder_use(hal_power_stats)
add_service(hal_power_stats_server, power_stats_service)

2
sepolicy/vendor/property.te vendored Normal file
View File

@ -0,0 +1,2 @@
# Power HAL
type power_prop, property_type;

5
sepolicy/vendor/property_contexts vendored Normal file
View File

@ -0,0 +1,5 @@
# Power HAL
vendor.powerhal.state u:object_r:power_prop:s0
vendor.powerhal.audio u:object_r:power_prop:s0
vendor.powerhal.init u:object_r:power_prop:s0
vendor.powerhal.rendering u:object_r:power_prop:s0

2
sepolicy/vendor/vendor_init.te vendored Normal file
View File

@ -0,0 +1,2 @@
allow vendor_init proc_sched_energy_aware:file w_file_perms;
set_prop(vendor_init, power_prop)

2
sepolicy/vendor/vndservice.te vendored Normal file
View File

@ -0,0 +1,2 @@
# PowerStats HAL
type power_stats_service, vndservice_manager_type;

2
sepolicy/vendor/vndservice_contexts vendored Normal file
View File

@ -0,0 +1,2 @@
# PowerStats HAL
power.stats-vendor u:object_r:power_stats_service:s0