Merge "Add `android.system.vold` to sepolicy" into main
diff --git a/build/soong/service_fuzzer_bindings.go b/build/soong/service_fuzzer_bindings.go
index 35f4e09..257cee6 100644
--- a/build/soong/service_fuzzer_bindings.go
+++ b/build/soong/service_fuzzer_bindings.go
@@ -197,101 +197,102 @@
 		"android.system.virtualizationservice_internal.IVmnic":                EXCEPTION_NO_FUZZER,
 		"android.system.virtualizationmaintenance":                            EXCEPTION_NO_FUZZER,
 		"android.system.vmtethering.IVmTethering":                             EXCEPTION_NO_FUZZER,
-		"ambient_context":               EXCEPTION_NO_FUZZER,
-		"app_binding":                   EXCEPTION_NO_FUZZER,
-		"app_function":                  EXCEPTION_NO_FUZZER,
-		"app_hibernation":               EXCEPTION_NO_FUZZER,
-		"app_integrity":                 EXCEPTION_NO_FUZZER,
-		"app_prediction":                EXCEPTION_NO_FUZZER,
-		"app_search":                    EXCEPTION_NO_FUZZER,
-		"apexservice":                   EXCEPTION_NO_FUZZER,
-		"archive":                       EXCEPTION_NO_FUZZER,
-		"attestation_verification":      EXCEPTION_NO_FUZZER,
-		"authentication_policy":         EXCEPTION_NO_FUZZER,
-		"blob_store":                    EXCEPTION_NO_FUZZER,
-		"gsiservice":                    EXCEPTION_NO_FUZZER,
-		"appops":                        EXCEPTION_NO_FUZZER,
-		"appwidget":                     EXCEPTION_NO_FUZZER,
-		"artd":                          []string{"artd_fuzzer"},
-		"artd_pre_reboot":               []string{"artd_fuzzer"},
-		"assetatlas":                    EXCEPTION_NO_FUZZER,
-		"attention":                     EXCEPTION_NO_FUZZER,
-		"audio":                         EXCEPTION_NO_FUZZER,
-		"auth":                          EXCEPTION_NO_FUZZER,
-		"autofill":                      EXCEPTION_NO_FUZZER,
-		"background_install_control":    EXCEPTION_NO_FUZZER,
-		"backup":                        EXCEPTION_NO_FUZZER,
-		"batteryproperties":             EXCEPTION_NO_FUZZER,
-		"batterystats":                  EXCEPTION_NO_FUZZER,
-		"battery":                       EXCEPTION_NO_FUZZER,
-		"binder_calls_stats":            EXCEPTION_NO_FUZZER,
-		"biometric":                     EXCEPTION_NO_FUZZER,
-		"bluetooth_manager":             EXCEPTION_NO_FUZZER,
-		"bluetooth":                     EXCEPTION_NO_FUZZER,
-		"broadcastradio":                EXCEPTION_NO_FUZZER,
-		"bugreport":                     EXCEPTION_NO_FUZZER,
-		"cacheinfo":                     EXCEPTION_NO_FUZZER,
-		"carrier_config":                EXCEPTION_NO_FUZZER,
-		"clipboard":                     EXCEPTION_NO_FUZZER,
-		"cloudsearch":                   EXCEPTION_NO_FUZZER,
-		"cloudsearch_service":           EXCEPTION_NO_FUZZER,
-		"com.android.net.IProxyService": EXCEPTION_NO_FUZZER,
-		"companiondevice":               EXCEPTION_NO_FUZZER,
-		"communal":                      EXCEPTION_NO_FUZZER,
-		"platform_compat":               EXCEPTION_NO_FUZZER,
-		"platform_compat_native":        EXCEPTION_NO_FUZZER,
-		"connectivity":                  EXCEPTION_NO_FUZZER,
-		"connectivity_native":           EXCEPTION_NO_FUZZER,
-		"connmetrics":                   EXCEPTION_NO_FUZZER,
-		"consumer_ir":                   EXCEPTION_NO_FUZZER,
-		"content":                       EXCEPTION_NO_FUZZER,
-		"content_capture":               EXCEPTION_NO_FUZZER,
-		"content_suggestions":           EXCEPTION_NO_FUZZER,
-		"contexthub":                    EXCEPTION_NO_FUZZER,
-		"contextual_search":             EXCEPTION_NO_FUZZER,
-		"country_detector":              EXCEPTION_NO_FUZZER,
-		"coverage":                      EXCEPTION_NO_FUZZER,
-		"cpuinfo":                       EXCEPTION_NO_FUZZER,
-		"cpu_monitor":                   EXCEPTION_NO_FUZZER,
-		"credential":                    EXCEPTION_NO_FUZZER,
-		"crossprofileapps":              EXCEPTION_NO_FUZZER,
-		"dataloader_manager":            EXCEPTION_NO_FUZZER,
-		"dbinfo":                        EXCEPTION_NO_FUZZER,
-		"device_config":                 EXCEPTION_NO_FUZZER,
-		"device_config_updatable":       EXCEPTION_NO_FUZZER,
-		"device_policy":                 EXCEPTION_NO_FUZZER,
-		"device_identifiers":            EXCEPTION_NO_FUZZER,
-		"deviceidle":                    EXCEPTION_NO_FUZZER,
-		"device_lock":                   EXCEPTION_NO_FUZZER,
-		"device_state":                  EXCEPTION_NO_FUZZER,
-		"devicestoragemonitor":          EXCEPTION_NO_FUZZER,
-		"dexopt_chroot_setup":           []string{"dexopt_chroot_setup_fuzzer"},
-		"diskstats":                     EXCEPTION_NO_FUZZER,
-		"display":                       EXCEPTION_NO_FUZZER,
-		"dnsresolver":                   []string{"resolv_service_fuzzer"},
-		"domain_verification":           EXCEPTION_NO_FUZZER,
-		"color_display":                 EXCEPTION_NO_FUZZER,
-		"netd_listener":                 EXCEPTION_NO_FUZZER,
-		"network_watchlist":             EXCEPTION_NO_FUZZER,
-		"DockObserver":                  EXCEPTION_NO_FUZZER,
-		"dreams":                        EXCEPTION_NO_FUZZER,
-		"drm.drmManager":                []string{"drmserver_fuzzer"},
-		"dropbox":                       EXCEPTION_NO_FUZZER,
-		"dumpstate":                     EXCEPTION_NO_FUZZER,
-		"dynamic_system":                EXCEPTION_NO_FUZZER,
-		"dynamic_instrumentation":       EXCEPTION_NO_FUZZER,
-		"econtroller":                   EXCEPTION_NO_FUZZER,
-		"ecm_enhanced_confirmation":     EXCEPTION_NO_FUZZER,
-		"emergency_affordance":          EXCEPTION_NO_FUZZER,
-		"euicc_card_controller":         EXCEPTION_NO_FUZZER,
-		"external_vibrator_service":     EXCEPTION_NO_FUZZER,
-		"ethernet":                      EXCEPTION_NO_FUZZER,
-		"face":                          EXCEPTION_NO_FUZZER,
-		"file_integrity":                EXCEPTION_NO_FUZZER,
-		"fingerprint":                   EXCEPTION_NO_FUZZER,
-		"feature_flags":                 EXCEPTION_NO_FUZZER,
-		"font":                          EXCEPTION_NO_FUZZER,
-		"forensic":                      EXCEPTION_NO_FUZZER,
+		"android.system.vold.IVold/default":                                   []string{"vold_native_service_fuzzer"},
+		"ambient_context":                                                     EXCEPTION_NO_FUZZER,
+		"app_binding":                                                         EXCEPTION_NO_FUZZER,
+		"app_function":                                                        EXCEPTION_NO_FUZZER,
+		"app_hibernation":                                                     EXCEPTION_NO_FUZZER,
+		"app_integrity":                                                       EXCEPTION_NO_FUZZER,
+		"app_prediction":                                                      EXCEPTION_NO_FUZZER,
+		"app_search":                                                          EXCEPTION_NO_FUZZER,
+		"apexservice":                                                         EXCEPTION_NO_FUZZER,
+		"archive":                                                             EXCEPTION_NO_FUZZER,
+		"attestation_verification":                                            EXCEPTION_NO_FUZZER,
+		"authentication_policy":                                               EXCEPTION_NO_FUZZER,
+		"blob_store":                                                          EXCEPTION_NO_FUZZER,
+		"gsiservice":                                                          EXCEPTION_NO_FUZZER,
+		"appops":                                                              EXCEPTION_NO_FUZZER,
+		"appwidget":                                                           EXCEPTION_NO_FUZZER,
+		"artd":                                                                []string{"artd_fuzzer"},
+		"artd_pre_reboot":                                                     []string{"artd_fuzzer"},
+		"assetatlas":                                                          EXCEPTION_NO_FUZZER,
+		"attention":                                                           EXCEPTION_NO_FUZZER,
+		"audio":                                                               EXCEPTION_NO_FUZZER,
+		"auth":                                                                EXCEPTION_NO_FUZZER,
+		"autofill":                                                            EXCEPTION_NO_FUZZER,
+		"background_install_control":                                          EXCEPTION_NO_FUZZER,
+		"backup":                                                              EXCEPTION_NO_FUZZER,
+		"batteryproperties":                                                   EXCEPTION_NO_FUZZER,
+		"batterystats":                                                        EXCEPTION_NO_FUZZER,
+		"battery":                                                             EXCEPTION_NO_FUZZER,
+		"binder_calls_stats":                                                  EXCEPTION_NO_FUZZER,
+		"biometric":                                                           EXCEPTION_NO_FUZZER,
+		"bluetooth_manager":                                                   EXCEPTION_NO_FUZZER,
+		"bluetooth":                                                           EXCEPTION_NO_FUZZER,
+		"broadcastradio":                                                      EXCEPTION_NO_FUZZER,
+		"bugreport":                                                           EXCEPTION_NO_FUZZER,
+		"cacheinfo":                                                           EXCEPTION_NO_FUZZER,
+		"carrier_config":                                                      EXCEPTION_NO_FUZZER,
+		"clipboard":                                                           EXCEPTION_NO_FUZZER,
+		"cloudsearch":                                                         EXCEPTION_NO_FUZZER,
+		"cloudsearch_service":                                                 EXCEPTION_NO_FUZZER,
+		"com.android.net.IProxyService":                                       EXCEPTION_NO_FUZZER,
+		"companiondevice":                                                     EXCEPTION_NO_FUZZER,
+		"communal":                                                            EXCEPTION_NO_FUZZER,
+		"platform_compat":                                                     EXCEPTION_NO_FUZZER,
+		"platform_compat_native":                                              EXCEPTION_NO_FUZZER,
+		"connectivity":                                                        EXCEPTION_NO_FUZZER,
+		"connectivity_native":                                                 EXCEPTION_NO_FUZZER,
+		"connmetrics":                                                         EXCEPTION_NO_FUZZER,
+		"consumer_ir":                                                         EXCEPTION_NO_FUZZER,
+		"content":                                                             EXCEPTION_NO_FUZZER,
+		"content_capture":                                                     EXCEPTION_NO_FUZZER,
+		"content_suggestions":                                                 EXCEPTION_NO_FUZZER,
+		"contexthub":                                                          EXCEPTION_NO_FUZZER,
+		"contextual_search":                                                   EXCEPTION_NO_FUZZER,
+		"country_detector":                                                    EXCEPTION_NO_FUZZER,
+		"coverage":                                                            EXCEPTION_NO_FUZZER,
+		"cpuinfo":                                                             EXCEPTION_NO_FUZZER,
+		"cpu_monitor":                                                         EXCEPTION_NO_FUZZER,
+		"credential":                                                          EXCEPTION_NO_FUZZER,
+		"crossprofileapps":                                                    EXCEPTION_NO_FUZZER,
+		"dataloader_manager":                                                  EXCEPTION_NO_FUZZER,
+		"dbinfo":                                                              EXCEPTION_NO_FUZZER,
+		"device_config":                                                       EXCEPTION_NO_FUZZER,
+		"device_config_updatable":                                             EXCEPTION_NO_FUZZER,
+		"device_policy":                                                       EXCEPTION_NO_FUZZER,
+		"device_identifiers":                                                  EXCEPTION_NO_FUZZER,
+		"deviceidle":                                                          EXCEPTION_NO_FUZZER,
+		"device_lock":                                                         EXCEPTION_NO_FUZZER,
+		"device_state":                                                        EXCEPTION_NO_FUZZER,
+		"devicestoragemonitor":                                                EXCEPTION_NO_FUZZER,
+		"dexopt_chroot_setup":                                                 []string{"dexopt_chroot_setup_fuzzer"},
+		"diskstats":                                                           EXCEPTION_NO_FUZZER,
+		"display":                                                             EXCEPTION_NO_FUZZER,
+		"dnsresolver":                                                         []string{"resolv_service_fuzzer"},
+		"domain_verification":                                                 EXCEPTION_NO_FUZZER,
+		"color_display":                                                       EXCEPTION_NO_FUZZER,
+		"netd_listener":                                                       EXCEPTION_NO_FUZZER,
+		"network_watchlist":                                                   EXCEPTION_NO_FUZZER,
+		"DockObserver":                                                        EXCEPTION_NO_FUZZER,
+		"dreams":                                                              EXCEPTION_NO_FUZZER,
+		"drm.drmManager":                                                      []string{"drmserver_fuzzer"},
+		"dropbox":                                                             EXCEPTION_NO_FUZZER,
+		"dumpstate":                                                           EXCEPTION_NO_FUZZER,
+		"dynamic_system":                                                      EXCEPTION_NO_FUZZER,
+		"dynamic_instrumentation":                                             EXCEPTION_NO_FUZZER,
+		"econtroller":                                                         EXCEPTION_NO_FUZZER,
+		"ecm_enhanced_confirmation":                                           EXCEPTION_NO_FUZZER,
+		"emergency_affordance":                                                EXCEPTION_NO_FUZZER,
+		"euicc_card_controller":                                               EXCEPTION_NO_FUZZER,
+		"external_vibrator_service":                                           EXCEPTION_NO_FUZZER,
+		"ethernet":                                                            EXCEPTION_NO_FUZZER,
+		"face":                                                                EXCEPTION_NO_FUZZER,
+		"file_integrity":                                                      EXCEPTION_NO_FUZZER,
+		"fingerprint":                                                         EXCEPTION_NO_FUZZER,
+		"feature_flags":                                                       EXCEPTION_NO_FUZZER,
+		"font":                                                                EXCEPTION_NO_FUZZER,
+		"forensic":                                                            EXCEPTION_NO_FUZZER,
 		"android.hardware.fingerprint.IFingerprintDaemon": EXCEPTION_NO_FUZZER,
 		"game":                                   EXCEPTION_NO_FUZZER,
 		"gfxinfo":                                EXCEPTION_NO_FUZZER,
diff --git a/private/service.te b/private/service.te
index a90b3ba..ce648c2 100644
--- a/private/service.te
+++ b/private/service.te
@@ -60,6 +60,7 @@
 ')
 
 type uce_service,                      service_manager_type;
+type fwk_vold_service,                 service_manager_type;
 type wearable_sensing_service,         app_api_service, system_server_service, service_manager_type;
 type wifi_mainline_supplicant_service, service_manager_type;
 type dynamic_instrumentation_service,  app_api_service, system_server_service, service_manager_type;
diff --git a/private/service_contexts b/private/service_contexts
index 2e050eb..e2998c7 100644
--- a/private/service_contexts
+++ b/private/service_contexts
@@ -141,6 +141,7 @@
 android.system.keystore2.IKeystoreService/default                    u:object_r:keystore_service:s0
 android.system.net.netd.INetd/default                                u:object_r:system_net_netd_service:s0
 android.system.suspend.ISystemSuspend/default                        u:object_r:hal_system_suspend_service:s0
+android.system.vold.IVold/default                                    u:object_r:fwk_vold_service:s0
 
 accessibility                             u:object_r:accessibility_service:s0
 account                                   u:object_r:account_service:s0
diff --git a/private/vold.te b/private/vold.te
index c242040..8fe8518 100644
--- a/private/vold.te
+++ b/private/vold.te
@@ -291,9 +291,10 @@
 # Allow vold to use wake locks.  Needed for idle maintenance and moving storage.
 wakelock_use(vold)
 
-# Allow vold to publish a binder service and make binder calls.
+# Allow vold to make binder calls and publish binder services.
 binder_use(vold)
 add_service(vold, vold_service)
+add_service(vold, fwk_vold_service)
 
 # Allow vold to call into the system server so it can check permissions.
 binder_call(vold, system_server)