diff --git a/sepolicy/qti/vendor/attributes b/sepolicy/qti/vendor/attributes index 90e69b0..a308c01 100644 --- a/sepolicy/qti/vendor/attributes +++ b/sepolicy/qti/vendor/attributes @@ -1,2 +1,3 @@ vendor_hal_attribute(cameraMDM) +vendor_hal_attribute(oplusPerf) vendor_hal_attribute(oplusSensor) diff --git a/sepolicy/qti/vendor/file_contexts b/sepolicy/qti/vendor/file_contexts index 6de4806..1b5151f 100644 --- a/sepolicy/qti/vendor/file_contexts +++ b/sepolicy/qti/vendor/file_contexts @@ -55,6 +55,10 @@ /dev/block/platform/soc/1d84000\.ufshc/by-name/opproduct_[ab] u:object_r:vendor_custom_ab_block_device:s0 /dev/block/platform/soc/1d84000\.ufshc/by-name/splash_[ab] u:object_r:vendor_custom_ab_block_device:s0 +# Perf +/(odm|vendor/odm)/bin/hw/vendor\.oplus\.hardware\.performance@1\.0-service u:object_r:vendor_hal_oplusPerf_default_exec:s0 + + # RMT /dev/block/platform/soc/1d84000\.ufshc/by-name/oem_dycnvbk u:object_r:vendor_modem_efs_partition_device:s0 /dev/block/platform/soc/1d84000\.ufshc/by-name/oem_stanvbk u:object_r:vendor_modem_efs_partition_device:s0 diff --git a/sepolicy/qti/vendor/hal_audio_default.te b/sepolicy/qti/vendor/hal_audio_default.te index bec8d06..ea08ad8 100644 --- a/sepolicy/qti/vendor/hal_audio_default.te +++ b/sepolicy/qti/vendor/hal_audio_default.te @@ -1 +1,3 @@ allow hal_audio_default ultrasound_device:chr_file rw_file_perms; + +hal_client_domain(hal_audio_default, vendor_hal_oplusPerf) diff --git a/sepolicy/qti/vendor/hal_fingerprint_default.te b/sepolicy/qti/vendor/hal_fingerprint_default.te index 71248ea..fe2b381 100644 --- a/sepolicy/qti/vendor/hal_fingerprint_default.te +++ b/sepolicy/qti/vendor/hal_fingerprint_default.te @@ -8,9 +8,13 @@ allow hal_fingerprint_default fingerprint_device:chr_file rw_file_perms; allow hal_fingerprint_default graphics_device:chr_file rw_file_perms; allow hal_fingerprint_default tee_device:chr_file rw_file_perms; +hal_client_domain(hal_fingerprint_default, vendor_hal_oplusPerf) + rw_dir_file(hal_fingerprint_default, vendor_proc_display) r_dir_file(hal_fingerprint_default, vendor_proc_fingerprint) +binder_call(hal_fingerprint_default, vendor_hal_oplusPerf_default) + get_prop(hal_fingerprint_default, system_oplus_project_prop) set_prop(hal_fingerprint_default, system_fingerprint_prop) set_prop(hal_fingerprint_default, vendor_fingerprint_prop) diff --git a/sepolicy/qti/vendor/hwservice.te b/sepolicy/qti/vendor/hwservice.te index 5840df1..c04e62e 100644 --- a/sepolicy/qti/vendor/hwservice.te +++ b/sepolicy/qti/vendor/hwservice.te @@ -5,5 +5,8 @@ type vendor_hal_cameraMDM_hwservice, hwservice_manager_type, protected_hwservice # ORMS type vendor_hal_orms_hwservice, hwservice_manager_type, protected_hwservice; +# Performance +type vendor_hal_oplusPerf_hwservice, hwservice_manager_type, protected_hwservice; + # Sensors type vendor_hal_oplusSensor_hwservice, hwservice_manager_type, protected_hwservice; diff --git a/sepolicy/qti/vendor/hwservice_contexts b/sepolicy/qti/vendor/hwservice_contexts index 1be3e1d..bb05204 100644 --- a/sepolicy/qti/vendor/hwservice_contexts +++ b/sepolicy/qti/vendor/hwservice_contexts @@ -21,6 +21,9 @@ vendor.nxpnq330.nxpese::INxpEse u:object_r:hal_nfc_hwservice:s # ORMS vendor.oplus.hardware.orms::IOrmsHalProxy u:object_r:vendor_hal_orms_hwservice:s0 +# Performance +vendor.oplus.hardware.performance::IPerformance u:object_r:vendor_hal_oplusPerf_hwservice:s0 + # Sensors vendor.oplus.hardware.oplusSensor::ISensorFeature u:object_r:vendor_hal_oplusSensor_hwservice:s0 diff --git a/sepolicy/qti/vendor/vendor_hal_oplusPerf_default.te b/sepolicy/qti/vendor/vendor_hal_oplusPerf_default.te new file mode 100644 index 0000000..d731782 --- /dev/null +++ b/sepolicy/qti/vendor/vendor_hal_oplusPerf_default.te @@ -0,0 +1,16 @@ +type vendor_hal_oplusPerf_default, domain; +hal_server_domain(vendor_hal_oplusPerf_default, vendor_hal_oplusPerf) + +type vendor_hal_oplusPerf_default_exec, exec_type, vendor_file_type, file_type; +init_daemon_domain(vendor_hal_oplusPerf_default) + +binder_call(vendor_hal_oplusPerf_client, vendor_hal_oplusPerf_server) +binder_call(vendor_hal_oplusPerf_server, vendor_hal_oplusPerf_client) + +hal_attribute_hwservice(vendor_hal_oplusPerf, vendor_hal_oplusPerf_hwservice) + +allow vendor_hal_oplusPerf_default hal_fingerprint_default:dir search; + +allow vendor_hal_oplusPerf_default hal_audio_default:dir search; + +allow vendor_hal_oplusPerf_default proc_version:file r_file_perms;