FrameworksServicesTests: allow access to test.sys.boot.reason property
com.android.server.power.PowerManagerServiceTest#testGetLastShutdownReasonInternal due to "RuntimeException: failed to set system property"
W/roidJUnitRunner: type=1400 audit(0.0:6): avc: denied { write } for name="property_service" dev="tmpfs" ino=13178 scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:property_socket:s0 tclass=sock_file permissive=0
W/libc : Unable to set property "test.sys.boot.reason" to "shutdown,thermal": connection failed; errno=13 (Permission denied)
Test: compile
Bug: 78245377
Change-Id: Id21436d281bab27823969a9f7e92318d70b5a2d6
diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil
index 42071c9..e5eb3b2 100644
--- a/private/compat/26.0/26.0.ignore.cil
+++ b/private/compat/26.0/26.0.ignore.cil
@@ -98,6 +98,7 @@
system_boot_reason_prop
system_net_netd_hwservice
system_update_service
+ test_prop
thermal_service
thermalcallback_hwservice
thermalserviced
diff --git a/private/compat/27.0/27.0.ignore.cil b/private/compat/27.0/27.0.ignore.cil
index d74139a..e56e77b 100644
--- a/private/compat/27.0/27.0.ignore.cil
+++ b/private/compat/27.0/27.0.ignore.cil
@@ -82,6 +82,7 @@
storaged_data_file
system_boot_reason_prop
system_update_service
+ test_prop
tombstone_wifi_data_file
trace_data_file
traced
diff --git a/private/platform_app.te b/private/platform_app.te
index b147bd9..b526462 100644
--- a/private/platform_app.te
+++ b/private/platform_app.te
@@ -77,6 +77,9 @@
allow platform_app system_server:udp_socket {
connect getattr read recvfrom sendto write getopt setopt };
+# allow platform apps to connect to the property service
+set_prop(platform_app, test_prop)
+
###
### Neverallow rules
###
diff --git a/private/property_contexts b/private/property_contexts
index 4433bdf..d61b48c 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -71,6 +71,7 @@
persist.sys.boot.reason u:object_r:last_boot_reason_prop:s0
sys.boot.reason u:object_r:system_boot_reason_prop:s0
pm. u:object_r:pm_prop:s0
+test. u:object_r:test_prop:s0
# Boolean property set by system server upon boot indicating
# if device owner is provisioned.
diff --git a/public/property.te b/public/property.te
index 5dd88dc..ee0031d 100644
--- a/public/property.te
+++ b/public/property.te
@@ -51,6 +51,7 @@
type system_boot_reason_prop, property_type;
type system_prop, property_type, core_property_type;
type system_radio_prop, property_type, core_property_type;
+type test_prop, property_type;
type traced_enabled_prop, property_type;
type vold_prop, property_type, core_property_type;
type wifi_log_prop, property_type, log_property_type;