diff --git a/compos/tests/AndroidTest.xml b/compos/tests/AndroidTest.xml
index 4b414f1..e35b874 100644
--- a/compos/tests/AndroidTest.xml
+++ b/compos/tests/AndroidTest.xml
@@ -15,6 +15,7 @@
 -->
 <configuration description="Tests for CompOS">
     <option name="config-descriptor:metadata" key="mainline-param" value="com.google.android.art.apex" />
+    <option name="config-descriptor:metadata" key="mainline-param" value="com.android.art.apex" />
 
     <!-- Only run tests if the device under test is SDK version 33 (Android 13) or above. -->
     <object type="module_controller"
diff --git a/vmbase/src/bionic.rs b/vmbase/src/bionic.rs
index 29fa0ff..f8db1fe 100644
--- a/vmbase/src/bionic.rs
+++ b/vmbase/src/bionic.rs
@@ -24,9 +24,11 @@
 use crate::console;
 use crate::cstr;
 use crate::eprintln;
+use crate::rand::fill_with_entropy;
 use crate::read_sysreg;
 
 const EOF: c_int = -1;
+const EIO: c_int = 5;
 
 /// Bionic thread-local storage.
 #[repr(C)]
@@ -85,6 +87,21 @@
     unsafe { ERRNO }
 }
 
+#[no_mangle]
+extern "C" fn getentropy(buffer: *mut c_void, length: usize) -> c_int {
+    if length > 256 {
+        // The maximum permitted value for the length argument is 256.
+        set_errno(EIO);
+        return -1;
+    }
+
+    // SAFETY: Just like libc, we need to assume that `ptr` is valid.
+    let buffer = unsafe { slice::from_raw_parts_mut(buffer.cast::<u8>(), length) };
+    fill_with_entropy(buffer).unwrap();
+
+    0
+}
+
 /// Reports a fatal error detected by Bionic.
 ///
 /// # Safety
diff --git a/vmbase/src/memory/shared.rs b/vmbase/src/memory/shared.rs
index f4c9f72..dfa29e4 100644
--- a/vmbase/src/memory/shared.rs
+++ b/vmbase/src/memory/shared.rs
@@ -341,11 +341,7 @@
 /// Allocates a memory range of at least the given size and alignment that is shared with the host.
 /// Returns a pointer to the buffer.
 pub(crate) fn alloc_shared(layout: Layout) -> hyp::Result<NonNull<u8>> {
-    // TODO(b/291586508): We have temporarily removed the non-zero check for layout.size() to
-    // enable the Rialto socket device to connect or shut down, as the socket driver adds empty
-    // buffers in these scenarios.
-    // We will add the check back once this issue is fixed in the driver.
-
+    assert_ne!(layout.size(), 0);
     let Some(buffer) = try_shared_alloc(layout) else {
         handle_alloc_error(layout);
     };
diff --git a/vmbase/src/rand.rs b/vmbase/src/rand.rs
index 2acc390..b31bd4b 100644
--- a/vmbase/src/rand.rs
+++ b/vmbase/src/rand.rs
@@ -153,15 +153,3 @@
     fill_with_entropy(&mut arr)?;
     Ok(arr)
 }
-
-#[no_mangle]
-extern "C" fn CRYPTO_sysrand_for_seed(out: *mut u8, req: usize) {
-    CRYPTO_sysrand(out, req)
-}
-
-#[no_mangle]
-extern "C" fn CRYPTO_sysrand(out: *mut u8, req: usize) {
-    // SAFETY: We need to assume that out points to valid memory of size req.
-    let s = unsafe { core::slice::from_raw_parts_mut(out, req) };
-    fill_with_entropy(s).unwrap()
-}
