Merge Android 13 QPR2

Bug: 273316506
Merged-In: I09b67ca07d7f9573d77f64686fb818d4dc1753cc
Change-Id: I4dfcfac354c52a6bf2828558dd44e1acca0b550a
diff --git a/display/gs101/hal_graphics_composer_default.te b/display/gs101/hal_graphics_composer_default.te
index c1eac9c..dccddf0 100644
--- a/display/gs101/hal_graphics_composer_default.te
+++ b/display/gs101/hal_graphics_composer_default.te
@@ -25,8 +25,8 @@
 # allow HWC to get vendor_persist_sys_default_prop
 get_prop(hal_graphics_composer_default, vendor_persist_sys_default_prop)
 
-# allow HWC to get vendor_display_prop
-get_prop(hal_graphics_composer_default, vendor_display_prop)
+# allow HWC to get/set vendor_display_prop
+set_prop(hal_graphics_composer_default, vendor_display_prop)
 
 # allow HWC to get device_config_surface_flinger_native_boot_prop for adpf flags
 get_prop(hal_graphics_composer_default, device_config_surface_flinger_native_boot_prop)
diff --git a/tracking_denials/kernel.te b/tracking_denials/kernel.te
new file mode 100644
index 0000000..45ce8ed
--- /dev/null
+++ b/tracking_denials/kernel.te
@@ -0,0 +1,2 @@
+#b/247905787
+dontaudit kernel vendor_votable_debugfs:dir { search };
diff --git a/whitechapel/vendor/google/chre.te b/whitechapel/vendor/google/chre.te
index 4d23fce..ab321d0 100644
--- a/whitechapel/vendor/google/chre.te
+++ b/whitechapel/vendor/google/chre.te
@@ -24,3 +24,5 @@
 allow chre fwk_stats_service:service_manager find;
 binder_call(chre, stats_service_server)
 
+# Allow CHRE to block suspend, which is required to use EPOLLWAKEUP.
+allow chre self:global_capability2_class_set block_suspend;
diff --git a/whitechapel/vendor/google/fastbootd.te b/whitechapel/vendor/google/fastbootd.te
index d6cf731..e350e0f 100644
--- a/whitechapel/vendor/google/fastbootd.te
+++ b/whitechapel/vendor/google/fastbootd.te
@@ -5,4 +5,5 @@
 allow fastbootd sda_block_device:blk_file rw_file_perms;
 allow fastbootd sysfs_ota:file rw_file_perms;
 allow fastbootd custom_ab_block_device:blk_file rw_file_perms;
+allow fastbootd citadel_device:chr_file rw_file_perms;
 ')
diff --git a/whitechapel/vendor/google/file.te b/whitechapel/vendor/google/file.te
index 847499d..48cb759 100644
--- a/whitechapel/vendor/google/file.te
+++ b/whitechapel/vendor/google/file.te
@@ -213,6 +213,9 @@
 # BootControl
 type sysfs_bootctl, sysfs_type, fs_type;
 
+#vendor-metrics
+type sysfs_vendor_metrics, fs_type, sysfs_type;
+
 # Radio
 type radio_vendor_data_file, file_type, data_file_type;
 userdebug_or_eng(`
diff --git a/whitechapel/vendor/google/file_contexts b/whitechapel/vendor/google/file_contexts
index 6d4c586..7315a91 100644
--- a/whitechapel/vendor/google/file_contexts
+++ b/whitechapel/vendor/google/file_contexts
@@ -108,6 +108,7 @@
 /dev/logbuffer_pca9468_tcpm    u:object_r:logbuffer_device:s0
 /dev/logbuffer_pca9468         u:object_r:logbuffer_device:s0
 /dev/logbuffer_cpm             u:object_r:logbuffer_device:s0
+/dev/logbuffer_bd              u:object_r:logbuffer_device:s0
 
 /dev/logbuffer_maxfg_monitor        u:object_r:logbuffer_device:s0
 /dev/logbuffer_maxfg_base_monitor   u:object_r:logbuffer_device:s0
diff --git a/whitechapel/vendor/google/genfs_contexts b/whitechapel/vendor/google/genfs_contexts
index 5fa8755..4036cea 100644
--- a/whitechapel/vendor/google/genfs_contexts
+++ b/whitechapel/vendor/google/genfs_contexts
@@ -355,6 +355,26 @@
 genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-1/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/iio:device0/enabled_rails u:object_r:sysfs_odpm:s0
 genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-1/1-002f/s2mpg11-meter/s2mpg11-odpm/iio:device0/enabled_rails         u:object_r:sysfs_odpm:s0
 
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-0/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-1/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-2/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-3/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-4/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-5/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-6/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-7/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17500000/i2c-8/i2c-s2mpg10mfd/s2mpg10-meter/s2mpg10-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-0/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-1/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-2/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-3/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-4/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-5/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-6/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-7/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+genfscon sysfs /devices/platform/acpm_mfd_bus@17510000/i2c-8/i2c-s2mpg11mfd/s2mpg11-meter/s2mpg11-odpm/wakeup       u:object_r:sysfs_wakeup:s0
+
 # bcl sysfs files
 genfscon sysfs /devices/virtual/pmic/mitigation                                        u:object_r:sysfs_bcl:s0
 genfscon sysfs /devices/virtual/pmic/mitigation/clock_ratio/tpu_heavy_clk_ratio        u:object_r:sysfs_bcl:s0
@@ -526,6 +546,11 @@
 genfscon sysfs /devices/platform/100b0000.ISP                             u:object_r:sysfs_thermal:s0
 genfscon sysfs /devices/platform/100b0000.TPU                             u:object_r:sysfs_thermal:s0
 
+#vendor-metrics
+genfscon sysfs /kernel/metrics/temp_residency/temp_residency_all/stats    u:object_r:sysfs_vendor_metrics:s0
+genfscon sysfs /kernel/metrics/resume_latency/resume_latency_metrics      u:object_r:sysfs_vendor_metrics:s0
+genfscon sysfs /kernel/metrics/irq/long_irq_metrics                       u:object_r:sysfs_vendor_metrics:s0
+
 # Trusty
 genfscon sysfs /module/trusty_virtio/parameters/use_high_wq               u:object_r:sysfs_trusty:s0
 genfscon sysfs /module/trusty_core/parameters/use_high_wq                 u:object_r:sysfs_trusty:s0
diff --git a/whitechapel/vendor/google/hal_dumpstate_default.te b/whitechapel/vendor/google/hal_dumpstate_default.te
index 28137c7..314546f 100644
--- a/whitechapel/vendor/google/hal_dumpstate_default.te
+++ b/whitechapel/vendor/google/hal_dumpstate_default.te
@@ -143,6 +143,9 @@
   allow hal_dumpstate_default vendor_maxfg_debugfs:dir search;
   allow hal_dumpstate_default vendor_maxfg_debugfs:file r_file_perms;
 
+  allow hal_dumpstate_default sysfs_vendor_metrics:dir search;
+  allow hal_dumpstate_default sysfs_vendor_metrics:file r_file_perms;
+
   allow hal_dumpstate_default vendor_charger_debugfs:dir r_dir_perms;
   allow hal_dumpstate_default vendor_charger_debugfs:file r_file_perms;
 
@@ -173,6 +176,9 @@
 dontaudit hal_dumpstate_default sysfs_pixel_stat:dir r_dir_perms;
 dontaudit hal_dumpstate_default sysfs_pixel_stat:file r_file_perms;
 
+dontaudit hal_dumpstate_default sysfs_vendor_metrics:dir search;
+dontaudit hal_dumpstate_default sysfs_vendor_metrics:file r_file_perms;
+
 dontaudit hal_dumpstate_default vendor_dri_debugfs:file r_file_perms;
 dontaudit hal_dumpstate_default vendor_dri_debugfs:dir search;
 
diff --git a/whitechapel/vendor/google/hal_input_processor_default.te b/whitechapel/vendor/google/hal_input_processor_default.te
new file mode 100644
index 0000000..00d4c69
--- /dev/null
+++ b/whitechapel/vendor/google/hal_input_processor_default.te
@@ -0,0 +1,2 @@
+# allow InputProcessor HAL to read the display resolution system property
+get_prop(hal_input_processor_default, vendor_display_prop)
diff --git a/whitechapel/vendor/google/modem_svc_sit.te b/whitechapel/vendor/google/modem_svc_sit.te
index d5540e3..63dec36 100644
--- a/whitechapel/vendor/google/modem_svc_sit.te
+++ b/whitechapel/vendor/google/modem_svc_sit.te
@@ -30,3 +30,6 @@
 
 # logging property
 get_prop(modem_svc_sit, vendor_logger_prop)
+
+# Modem property
+set_prop(modem_svc_sit, vendor_modem_prop)
diff --git a/whitechapel/vendor/google/pixelstats_vendor.te b/whitechapel/vendor/google/pixelstats_vendor.te
index 996c31a..c6e7d9a 100644
--- a/whitechapel/vendor/google/pixelstats_vendor.te
+++ b/whitechapel/vendor/google/pixelstats_vendor.te
@@ -26,6 +26,9 @@
 # Batery history
 allow pixelstats_vendor battery_history_device:chr_file r_file_perms;
 
+#vendor-metrics
+r_dir_file(pixelstats_vendor, sysfs_vendor_metrics)
+
 # BCL
 allow pixelstats_vendor sysfs_bcl:dir search;
 allow pixelstats_vendor sysfs_bcl:file r_file_perms;
diff --git a/whitechapel/vendor/google/property_contexts b/whitechapel/vendor/google/property_contexts
index 8239a46..0dd3d46 100644
--- a/whitechapel/vendor/google/property_contexts
+++ b/whitechapel/vendor/google/property_contexts
@@ -67,6 +67,7 @@
 
 # for display
 ro.vendor.hwc.drm.device                u:object_r:vendor_display_prop:s0
+persist.vendor.display.                 u:object_r:vendor_display_prop:s0
 
 # for camera
 persist.vendor.camera.               u:object_r:vendor_camera_prop:s0
diff --git a/whitechapel/vendor/google/vendor_init.te b/whitechapel/vendor/google/vendor_init.te
index a27c5ca..8ebe5e5 100644
--- a/whitechapel/vendor/google/vendor_init.te
+++ b/whitechapel/vendor/google/vendor_init.te
@@ -36,5 +36,8 @@
 # Fingerprint property
 set_prop(vendor_init, vendor_fingerprint_prop)
 
+# Display
+set_prop(vendor_init, vendor_display_prop)
+
 # Trusty storage FS ready
 get_prop(vendor_init, vendor_trusty_storage_prop)