[rialto] Enable the host and service VM vsock connection

This cl enables the communication between the host and the
service VM. The cl also verifies the connection in the integration
tests by sending a message from the host to rialto, which is
then reversed and sent back.

Test: atest rialto_test
Bug: 274441673
Change-Id: I3e1f4f48c2d8b7fb1b211e0830ff07b5291d4410
diff --git a/vmbase/src/memory/shared.rs b/vmbase/src/memory/shared.rs
index dfa29e4..f4c9f72 100644
--- a/vmbase/src/memory/shared.rs
+++ b/vmbase/src/memory/shared.rs
@@ -341,7 +341,11 @@
 /// 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>> {
-    assert_ne!(layout.size(), 0);
+    // 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.
+
     let Some(buffer) = try_shared_alloc(layout) else {
         handle_alloc_error(layout);
     };