Merge "Ignore errors that zygote tries to setattr media_rw_data_file dir"
diff --git a/private/compat/29.0/29.0.ignore.cil b/private/compat/29.0/29.0.ignore.cil
index f4203f6..c67db50 100644
--- a/private/compat/29.0/29.0.ignore.cil
+++ b/private/compat/29.0/29.0.ignore.cil
@@ -45,6 +45,7 @@
     file_integrity_service
     fwk_automotive_display_hwservice
     gmscore_app
+    gnss_device
     hal_can_bus_hwservice
     hal_can_controller_hwservice
     hal_identity_service
diff --git a/private/file_contexts b/private/file_contexts
index 0cc68e7..c1d5274 100644
--- a/private/file_contexts
+++ b/private/file_contexts
@@ -95,6 +95,7 @@
 /dev/cgroup_info(/.*)?  u:object_r:cgroup_rc_file:s0
 /dev/fscklogs(/.*)?	u:object_r:fscklogs:s0
 /dev/fuse		u:object_r:fuse_device:s0
+/dev/gnss[0-9]+		u:object_r:gnss_device:s0
 /dev/graphics(/.*)?	u:object_r:graphics_device:s0
 /dev/hw_random		u:object_r:hw_random_device:s0
 /dev/hwbinder		u:object_r:hwbinder_device:s0
diff --git a/private/property_contexts b/private/property_contexts
index ab6c4f8..c8e743c 100644
--- a/private/property_contexts
+++ b/private/property_contexts
@@ -249,7 +249,7 @@
 ro.lib_gui.frame_event_history_size u:object_r:bq_config_prop:s0
 
 # vendor-init-readable
-persist.radio.airplane_mode_on u:object_r:exported2_radio_prop:s0 exact int
+persist.radio.airplane_mode_on u:object_r:exported2_radio_prop:s0 exact bool
 
 # vendor-init-settable
 af.fast_track_multiplier u:object_r:exported3_default_prop:s0 exact int
@@ -545,7 +545,7 @@
 persist.sys.timezone     u:object_r:exported_system_prop:s0 exact string
 persist.sys.test_harness u:object_r:test_harness_prop:s0 exact bool
 
-ro.adb.secure u:object_r:exported_secure_prop:s0 exact int
+ro.adb.secure u:object_r:exported_secure_prop:s0 exact bool
 
 ro.arch u:object_r:exported2_default_prop:s0 exact string
 
@@ -592,8 +592,8 @@
 ro.build.version.sdk                 u:object_r:exported2_default_prop:s0 exact int
 ro.build.version.security_patch      u:object_r:exported2_default_prop:s0 exact string
 
-ro.crypto.state u:object_r:exported_vold_prop:s0 exact string
-ro.crypto.type  u:object_r:exported_vold_prop:s0 exact string
+ro.crypto.state u:object_r:exported_vold_prop:s0 exact enum encrypted unencrypted unsupported
+ro.crypto.type  u:object_r:exported_vold_prop:s0 exact enum block file none
 
 ro.debuggable u:object_r:exported2_default_prop:s0 exact int
 
@@ -781,7 +781,7 @@
 ro.surface_flinger.max_graphics_height                    u:object_r:exported_default_prop:s0 exact int
 ro.surface_flinger.max_graphics_width                     u:object_r:exported_default_prop:s0 exact int
 ro.surface_flinger.max_virtual_display_dimension          u:object_r:exported_default_prop:s0 exact int
-ro.surface_flinger.primary_display_orientation            u:object_r:exported_default_prop:s0 exact string
+ro.surface_flinger.primary_display_orientation            u:object_r:exported_default_prop:s0 exact enum ORIENTATION_0 ORIENTATION_180 ORIENTATION_270 ORIENTATION_90
 ro.surface_flinger.present_time_offset_from_vsync_ns      u:object_r:exported_default_prop:s0 exact int
 ro.surface_flinger.running_without_sync_framework         u:object_r:exported_default_prop:s0 exact bool
 ro.surface_flinger.start_graphics_allocator_service       u:object_r:exported_default_prop:s0 exact bool
diff --git a/public/device.te b/public/device.te
index 32563d6..43d6322 100644
--- a/public/device.te
+++ b/public/device.te
@@ -52,6 +52,7 @@
 type usbaccessory_device, dev_type, mlstrustedobject;
 type usb_device, dev_type, mlstrustedobject;
 type usb_serial_device, dev_type;
+type gnss_device, dev_type;
 type properties_device, dev_type;
 type properties_serial, dev_type;
 type property_info, dev_type;
diff --git a/vendor/file_contexts b/vendor/file_contexts
index 94b8095..213ba05 100644
--- a/vendor/file_contexts
+++ b/vendor/file_contexts
@@ -10,7 +10,7 @@
 /(vendor|system/vendor)/bin/hw/android\.hardware\.bluetooth@1\.[0-9]+-service      u:object_r:hal_bluetooth_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.bluetooth@1\.[0-9]+-service\.btlinux    u:object_r:hal_bluetooth_btlinux_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.fingerprint@2\.1-service u:object_r:hal_fingerprint_default_exec:s0
-/(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.face@1\.1-service\.example u:object_r:hal_face_default_exec:s0
+/(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.face@1\.[0-9]+-service\.example u:object_r:hal_face_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.boot@1\.[0-9]+-service      u:object_r:hal_bootctl_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.broadcastradio@\d+\.\d+-service u:object_r:hal_broadcastradio_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.camera\.provider@2\.[0-9]+-service_64       u:object_r:hal_camera_default_exec:s0
diff --git a/vendor/hal_gnss_default.te b/vendor/hal_gnss_default.te
index 92af53b..cea362f 100644
--- a/vendor/hal_gnss_default.te
+++ b/vendor/hal_gnss_default.te
@@ -3,3 +3,5 @@
 
 type hal_gnss_default_exec, exec_type, vendor_file_type, file_type;
 init_daemon_domain(hal_gnss_default)
+
+allow hal_gnss_default gnss_device:chr_file rw_file_perms;