hal_health_default: fix avc denials.
Bug: 175172404
Test: Ensure access is correctly granted to healthd
Signed-off-by: Jack Wu <wjack@google.com>
Merged-In: I287f5c0177f16da9fb9ab4a7e0c4a0e3d4832d7e
Change-Id: Ifebe1f4712b68e77b159cea662205768f34172e2
diff --git a/vendor/google/file.te b/vendor/google/file.te
index fc651f2..ae65f49 100644
--- a/vendor/google/file.te
+++ b/vendor/google/file.te
@@ -4,6 +4,7 @@
type sysfs_display, sysfs_type, fs_type;
type sysfs_pixelstats, sysfs_type, fs_type;
type persist_battery_file, file_type;
+type sysfs_chargelevel, sysfs_type, fs_type;
# RamdumpFS
allow ramdump_vendor_mnt_file self:filesystem associate;
diff --git a/vendor/google/genfs_contexts b/vendor/google/genfs_contexts
index bea397d..4eb61a0 100644
--- a/vendor/google/genfs_contexts
+++ b/vendor/google/genfs_contexts
@@ -28,4 +28,3 @@
genfscon sysfs /devices/platform/soc/soc:google,charger/bd_trigger_time u:object_r:sysfs_chargelevel:s0
genfscon sysfs /devices/platform/soc/soc:google,charger/bd_trigger_voltage u:object_r:sysfs_chargelevel:s0
genfscon sysfs /devices/platform/soc/soc:google,charger/bd_temp_enable u:object_r:sysfs_chargelevel:s0
-
diff --git a/vendor/google/hal_health_default.te b/vendor/google/hal_health_default.te
index 4835236..8a56297 100644
--- a/vendor/google/hal_health_default.te
+++ b/vendor/google/hal_health_default.te
@@ -17,9 +17,11 @@
allow hal_health_default sysfs_batteryinfo:file rw_file_perms;
allow hal_health_default sysfs_thermal:dir r_dir_perms;
allow hal_health_default sysfs_thermal:file rw_file_perms;
+allow hal_health_default sysfs_chargelevel:file rw_file_perms;
get_prop(hal_health_default, vendor_shutdown_prop)
set_prop(hal_health_default, vendor_shutdown_prop)
+set_prop(hal_health_default, vendor_battery_defender_prop)
allow hal_health_default self:capability2 wake_alarm;
allow hal_health_default mnt_vendor_file:dir search;
diff --git a/vendor/google/property.te b/vendor/google/property.te
index e92834b..5ed50a2 100644
--- a/vendor/google/property.te
+++ b/vendor/google/property.te
@@ -5,3 +5,6 @@
# fingerprint
type vendor_fingerprint_prop, property_type;
+
+# hal_health
+type vendor_battery_defender_prop, property_type;
diff --git a/vendor/google/property_contexts b/vendor/google/property_contexts
index be45d93..6c7d807 100644
--- a/vendor/google/property_contexts
+++ b/vendor/google/property_contexts
@@ -13,6 +13,9 @@
persist.vendor.shutdown. u:object_r:vendor_shutdown_prop:s0
persist.vendor.radio.multisim_switch_support u:object_r:vendor_radio_prop:s0
+# battery
+vendor.battery.defender. u:object_r:vendor_battery_defender_prop:s0
+
# fingerprint
vendor.fps.init.succeed u:object_r:vendor_fingerprint_prop:s0
vendor.fps.init_retry.count u:object_r:vendor_fingerprint_prop:s0
diff --git a/vendor/qcom/common/init-devstart-sh.te b/vendor/qcom/common/init-devstart-sh.te
index 65f353f..5292182 100644
--- a/vendor/qcom/common/init-devstart-sh.te
+++ b/vendor/qcom/common/init-devstart-sh.te
@@ -34,3 +34,6 @@
dontaudit init-qcom-devstart-sh sysfs_type:dir { read write };
dontaudit init-qcom-devstart-sh sysfs_graphics:file getattr;
dontaudit init-qcom-devstart-sh sysfs_devices_block:file getattr;
+
+# Support for battery defender
+allow init-qcom-devstart-sh sysfs_chargelevel:file rw_file_perms;