Snap for 11973804 from fa57c11e105a1a99bfad2a3775c39f4cb973983e to 24Q3-release

Change-Id: Iad5d64933596101a7d98b44d6c945ab6a9980935
diff --git a/fs_mgr/libsnapshot/snapuserd/Android.bp b/fs_mgr/libsnapshot/snapuserd/Android.bp
index 649309d..f040205 100644
--- a/fs_mgr/libsnapshot/snapuserd/Android.bp
+++ b/fs_mgr/libsnapshot/snapuserd/Android.bp
@@ -145,14 +145,6 @@
     ],
 
     include_dirs: ["bionic/libc/kernel"],
-    system_shared_libs: [],
-
-    // snapuserd is started during early boot by first-stage init. At that
-    // point, /system is mounted using the "dm-user" device-mapper kernel
-    // module. dm-user routes all I/O to userspace to be handled by
-    // snapuserd, which would lead to deadlock if we had to handle page
-    // faults for its code pages.
-    static_executable: true,
 }
 
 cc_binary {
@@ -165,10 +157,10 @@
         "libsnapuserd_client",
     ],
     ramdisk_available: false,
-    vendor_ramdisk_available: true,
+    vendor_ramdisk_available: false,
 }
 
-// This target will install to /system/bin/snapuserd_ramdisk 
+// This target will install to /system/bin/snapuserd_ramdisk
 // It will also create a symblink on /system/bin/snapuserd that point to
 // /system/bin/snapuserd_ramdisk .
 // This way, init can check if generic ramdisk copy exists.
@@ -184,6 +176,15 @@
     vendor_ramdisk_available: false,
     ramdisk: true,
     symlinks: ["snapuserd"],
+
+    system_shared_libs: [],
+
+    // snapuserd is started during early boot by first-stage init. At that
+    // point, /system is mounted using the "dm-user" device-mapper kernel
+    // module. dm-user routes all I/O to userspace to be handled by
+    // snapuserd, which would lead to deadlock if we had to handle page
+    // faults for its code pages.
+    static_executable: true,
 }
 
 cc_defaults {
diff --git a/init/apex_init_util.cpp b/init/apex_init_util.cpp
index 6d17f36..e5a7fbc 100644
--- a/init/apex_init_util.cpp
+++ b/init/apex_init_util.cpp
@@ -107,8 +107,9 @@
     }
     // APEXes can have versioned RC files. These should be filtered based on
     // SDK version.
-    auto filtered = FilterVersionedConfigs(
-            files, android::base::GetIntProperty("ro.build.version.sdk", INT_MAX));
+    int sdk = android::base::GetIntProperty("ro.build.version.sdk", INT_MAX);
+    if (sdk < 35) sdk = 35;  // aosp/main merges only into sdk=35+ (ie. __ANDROID_API_V__+)
+    auto filtered = FilterVersionedConfigs(files, sdk);
     if (filtered.empty()) {
         return {};
     }