Merge "Allow gpuservice to be a perfetto producer"
diff --git a/prebuilts/api/30.0/public/dumpstate.te b/prebuilts/api/30.0/public/dumpstate.te
index c305175..1724b70 100644
--- a/prebuilts/api/30.0/public/dumpstate.te
+++ b/prebuilts/api/30.0/public/dumpstate.te
@@ -140,6 +140,8 @@
 dump_hal(hal_wifi)
 dump_hal(hal_graphics_allocator)
 dump_hal(hal_neuralnetworks)
+dump_hal(hal_identity)
+
 # Vibrate the device after we are done collecting the bugreport
 hal_client_domain(dumpstate, hal_vibrator)
 
diff --git a/private/dex2oat.te b/private/dex2oat.te
index 7907f6c..c257f1a 100644
--- a/private/dex2oat.te
+++ b/private/dex2oat.te
@@ -13,9 +13,6 @@
 
 r_dir_file(dex2oat, dalvikcache_data_file)
 allow dex2oat dalvikcache_data_file:file write;
-# Read symlinks in /data/dalvik-cache. This is required for PIC mode boot images, where
-# the oat file is symlinked to the original file in /system.
-allow dex2oat dalvikcache_data_file:lnk_file read;
 allow dex2oat installd:fd use;
 
 # Acquire advisory lock on /system/framework/arm/*
diff --git a/private/gpuservice.te b/private/gpuservice.te
index 2e4254c..c467383 100644
--- a/private/gpuservice.te
+++ b/private/gpuservice.te
@@ -64,3 +64,5 @@
 
 # Only uncomment below line when in development
 # userdebug_or_eng(`permissive gpuservice;')
+
+get_prop(gpuservice, graphics_config_prop)
diff --git a/private/property_contexts b/private/property_contexts
index 1050aeb..c2f65a6 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -417,9 +417,6 @@
 
 ro.enable_boot_charger_mode u:object_r:exported3_default_prop:s0 exact bool
 
-ro.gfx.driver.0        u:object_r:exported3_default_prop:s0 exact string
-ro.gfx.angle.supported u:object_r:exported3_default_prop:s0 exact bool
-
 ro.lmk.critical                 u:object_r:lmkd_config_prop:s0 exact int
 ro.lmk.critical_upgrade         u:object_r:lmkd_config_prop:s0 exact bool
 ro.lmk.debug                    u:object_r:lmkd_config_prop:s0 exact bool
@@ -452,8 +449,6 @@
 
 ro.rebootescrow.device u:object_r:rebootescrow_hal_prop:s0 exact string
 
-ro.statsd.enable u:object_r:exported3_default_prop:s0 exact bool
-
 ro.storage_manager.enabled u:object_r:exported3_default_prop:s0 exact bool
 
 ro.vehicle.hal u:object_r:vehicle_hal_prop:s0 exact string
@@ -851,5 +846,9 @@
 persist.dbg.wfc_avail_ovr         u:object_r:telephony_config_prop:s0 exact int
 
 # Graphics related properties
+ro.gfx.driver.0        u:object_r:graphics_config_prop:s0 exact string
+ro.gfx.driver.1        u:object_r:graphics_config_prop:s0 exact string
+ro.gfx.angle.supported u:object_r:graphics_config_prop:s0 exact bool
+
 graphics.gpu.profiler.support          u:object_r:graphics_config_prop:s0 exact bool
 graphics.gpu.profiler.vulkan_layer_apk u:object_r:graphics_config_prop:s0 exact string
diff --git a/private/system_server.te b/private/system_server.te
index 7fe6f0b..c2b4234 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -883,6 +883,9 @@
 # Set persist.adb.tls_server.enable property
 set_prop(system_server, system_adbd_prop)
 
+# Read ro.gfx.* properties
+get_prop(system_server, graphics_config_prop)
+
 # Allow invoking tools like "timeout"
 allow system_server toolbox_exec:file rx_file_perms;
 
diff --git a/public/dumpstate.te b/public/dumpstate.te
index d84e529..63eb1e9 100644
--- a/public/dumpstate.te
+++ b/public/dumpstate.te
@@ -143,6 +143,7 @@
 dump_hal(hal_thermal)
 dump_hal(hal_power)
 dump_hal(hal_power_stats)
+dump_hal(hal_identity)
 
 # Vibrate the device after we are done collecting the bugreport
 hal_client_domain(dumpstate, hal_vibrator)