Add 202604 genfs labels

Bug: 390060775
Test: build, boot and see sepolicy
Change-Id: Id0d1bac9f6031181c959701cf3a7bdcb562834ff
diff --git a/Android.bp b/Android.bp
index e3017f9..44f064e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -103,6 +103,7 @@
         "plat_seapp_contexts",
         "plat_sepolicy.cil",
         "plat_sepolicy_genfs_202504.cil",
+        "plat_sepolicy_genfs_202604.cil",
         "plat_service_contexts",
         "secilc",
         "plat_29.0.cil",
@@ -674,9 +675,8 @@
         ":product_mapping_file",
     ],
     device_first_srcs: select(soong_config_variable("ANDROID", "BOARD_GENFS_LABELS_VERSION"), {
-        // TODO(b/391513934): clean up once we can simplify complex select statements.
-        "202504": [":plat_sepolicy_genfs_202504.cil"],
-        "202604": [":plat_sepolicy_genfs_202504.cil"],
+        "202404": [],
+        any @ ver: [":plat_sepolicy_genfs_" + ver + ".cil"],
         default: [],
     }),
     // Make precompiled_sepolicy_srcs as public so that OEMs have access to them.
@@ -1234,6 +1234,7 @@
         "plat_seapp_contexts",
         "plat_sepolicy.cil",
         "plat_sepolicy_genfs_202504.cil",
+        "plat_sepolicy_genfs_202604.cil",
         "plat_service_contexts",
         "plat_service_contexts_test",
         "searchpolicy",
diff --git a/compat/Android.bp b/compat/Android.bp
index 44f57d7..be895d9 100644
--- a/compat/Android.bp
+++ b/compat/Android.bp
@@ -671,3 +671,9 @@
     system_ext_specific: true,
     version: "202504",
 }
+
+prebuilt_etc {
+    name: "plat_sepolicy_genfs_202604.cil",
+    src: "plat_sepolicy_genfs_202604.cil",
+    relative_install_path: "selinux",
+}
diff --git a/compat/plat_sepolicy_genfs_202604.cil b/compat/plat_sepolicy_genfs_202604.cil
new file mode 100644
index 0000000..d78194f
--- /dev/null
+++ b/compat/plat_sepolicy_genfs_202604.cil
@@ -0,0 +1,2 @@
+(genfscon sysfs "/class/udc" (u object_r sysfs_udc ((s0) (s0))))
+(genfscon sysfs "/power/mem_sleep" (u object_r sysfs_mem_sleep ((s0) (s0))))