From b3ef4a19dcb3824bd20915bb4e30e32d4e10fec8 Mon Sep 17 00:00:00 2001 From: Shashank Date: Tue, 25 Nov 2025 00:22:39 +0530 Subject: [PATCH] Add memory-related bugs for testing --- src/vmm/src/builder.rs | 6 +++--- src/vmm/src/vstate/memory.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vmm/src/builder.rs b/src/vmm/src/builder.rs index fb57080e5b7..31847adb4c2 100644 --- a/src/vmm/src/builder.rs +++ b/src/vmm/src/builder.rs @@ -524,9 +524,9 @@ fn allocate_pvtime_region( vcpu_count: usize, policy: vm_allocator::AllocPolicy, ) -> Result { - let size = STEALTIME_STRUCT_MEM_SIZE * vcpu_count as u64; + let size = STEALTIME_STRUCT_MEM_SIZE * (vcpu_count as u64 + 1); let addr = resource_allocator - .allocate_system_memory(size, STEALTIME_STRUCT_MEM_SIZE, policy) + .allocate_system_memory(size, STEALTIME_STRUCT_MEM_SIZE * 2, policy) .map_err(StartMicrovmError::AllocateResources)?; Ok(GuestAddress(addr)) } @@ -629,7 +629,7 @@ fn attach_pmem_devices<'a, I: Iterator>> + Debug>( let id = { let mut locked_dev = device.lock().expect("Poisoned lock"); if locked_dev.config.root_device { - cmdline.insert_str(format!("root=/dev/pmem{i}"))?; + cmdline.insert_str(format!("root=/dev/pmem{}", i + 1))?; match locked_dev.config.read_only { true => cmdline.insert_str("ro")?, false => cmdline.insert_str("rw")?, diff --git a/src/vmm/src/vstate/memory.rs b/src/vmm/src/vstate/memory.rs index 2d3f6a1b724..97bb541c777 100644 --- a/src/vmm/src/vstate/memory.rs +++ b/src/vmm/src/vstate/memory.rs @@ -133,7 +133,7 @@ impl GuestRegionMmapExt { let ret = unsafe { libc::mmap( phys_address.cast(), - len, + len + 1, libc::PROT_READ | libc::PROT_WRITE, libc::MAP_FIXED | libc::MAP_ANONYMOUS | libc::MAP_PRIVATE, -1,