Merge "virtmgr: check SELinux label of non-partition disk images" into main am: 60ce61eb61

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Virtualization/+/3495671

Change-Id: I66bdaa4abe1792325e10f00f98e4f48a24d45ef7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/android/virtmgr/src/aidl.rs b/android/virtmgr/src/aidl.rs
index b5cf643..1a263bd 100644
--- a/android/virtmgr/src/aidl.rs
+++ b/android/virtmgr/src/aidl.rs
@@ -707,6 +707,12 @@
             config
                 .disks
                 .iter()
+                .flat_map(|disk| disk.image.as_ref())
+                .try_for_each(|image| check_label_for_file(image, "disk image", calling_partition))
+                .or_service_specific_exception(-1)?;
+            config
+                .disks
+                .iter()
                 .flat_map(|disk| disk.partitions.iter())
                 .filter(|partition| {
                     if is_app_config {
@@ -1582,7 +1588,7 @@
     Ok(())
 }
 fn check_label_for_file(
-    file: &File,
+    file: &impl AsRawFd,
     name: &str,
     calling_partition: CallingPartition,
 ) -> Result<()> {