diff --git a/private/perfprofd.te b/private/perfprofd.te index 2b4d537829f2df1545d163b5b5f0ec557471091a..25f97111f9e9c810a06c2761045a9abc68004c0a 100644 --- a/private/perfprofd.te +++ b/private/perfprofd.te @@ -3,6 +3,6 @@ userdebug_or_eng(` init_daemon_domain(perfprofd) ') -# Only servicemanager, statsd, su and systemserver can communicate. -neverallow { domain userdebug_or_eng(`-statsd -system_server') } perfprofd:binder call; -neverallow perfprofd { domain userdebug_or_eng(`-servicemanager -statsd -su -system_server') }:binder call; +# Only servicemanager, statsd, su, systemserver, hwservicemanager, health HAL can communicate. +neverallow { domain userdebug_or_eng(`-statsd -system_server -hal_health_server -hwservicemanager') } perfprofd:binder call; +neverallow perfprofd { domain userdebug_or_eng(`-servicemanager -statsd -su -system_server -hal_health_server -hwservicemanager') }:binder call; diff --git a/public/domain.te b/public/domain.te index c6fc9f831682c656d51b2fdc0c5c259e804bcbdf..fbc9a7fbf714931eb4ca4eb44c00d51fcc99ea0b 100644 --- a/public/domain.te +++ b/public/domain.te @@ -1421,7 +1421,5 @@ full_treble_only(` -charger # TODO(b/110891300): remove this exception -incidentd - # TODO(b/110890430): remove this exception - -perfprofd } sysfs_batteryinfo:file { open read }; ') diff --git a/public/perfprofd.te b/public/perfprofd.te index f067af5d4a9b5da0c847ef04eadb4324f9b477e8..c041ec2a88a9cb8efc72891dbf257330481e9f8c 100644 --- a/public/perfprofd.te +++ b/public/perfprofd.te @@ -39,8 +39,8 @@ userdebug_or_eng(` # perfprofd looks at thermals. allow perfprofd sysfs_thermal:dir r_dir_perms; - # perfprofd checks power_supply. - r_dir_file(perfprofd, sysfs_batteryinfo) + # perfprofd gets charging status. + hal_client_domain(perfprofd, hal_health) # simpleperf reads kernel notes. allow perfprofd sysfs_kernel_notes:file r_file_perms;