Add /dev/__properties__/property_info
Allow init to create a serialized property_info file and allow all
processes to read it.
Bug: 36001741
Test: boot bullhead, walleye using property_info
Change-Id: Ie51d4c0f0221b128dd087029c811fda15b4d7093
diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil
index fea7387..927296d 100644
--- a/private/compat/26.0/26.0.ignore.cil
+++ b/private/compat/26.0/26.0.ignore.cil
@@ -26,6 +26,7 @@
netd_stable_secret_prop
network_watchlist_service
package_native_service
+ property_info
slice_service
statscompanion_service
storaged_data_file
diff --git a/private/file_contexts b/private/file_contexts
index ec7d246..3c6642a 100644
--- a/private/file_contexts
+++ b/private/file_contexts
@@ -171,6 +171,7 @@
/dev/xt_qtaguid u:object_r:qtaguid_device:s0
/dev/zero u:object_r:zero_device:s0
/dev/__properties__ u:object_r:properties_device:s0
+/dev/__properties__/property_info u:object_r:property_info:s0
#############################
# System files
#
diff --git a/public/device.te b/public/device.te
index 1d01045..43c89ab 100644
--- a/public/device.te
+++ b/public/device.te
@@ -59,6 +59,7 @@
type usb_device, dev_type, mlstrustedobject;
type properties_device, dev_type;
type properties_serial, dev_type;
+type property_info, dev_type;
type i2c_device, dev_type;
# All devices have a uart for the hci
diff --git a/public/domain.te b/public/domain.te
index eb02021..ec0532d 100644
--- a/public/domain.te
+++ b/public/domain.te
@@ -81,6 +81,7 @@
allow domain proc_random:file r_file_perms;
allow domain properties_device:dir { search getattr };
allow domain properties_serial:file r_file_perms;
+allow domain property_info:file r_file_perms;
# For now, everyone can access core property files
# Device specific properties are not granted by default
diff --git a/public/init.te b/public/init.te
index 62a6e04..3a2d667 100644
--- a/public/init.te
+++ b/public/init.te
@@ -21,6 +21,9 @@
allow init properties_device:dir relabelto;
allow init properties_serial:file { write relabelto };
allow init property_type:file { create_file_perms relabelto };
+# /dev/__properties__/property_info
+allow init properties_device:file create_file_perms;
+allow init property_info:file relabelto;
# /dev/event-log-tags
allow init device:file relabelfrom;
allow init runtime_event_log_tags_file:file { open write setattr relabelto create };