From ced3762a67b69d66cda5b929500e5bcf266c4217 Mon Sep 17 00:00:00 2001 From: JP Kobryn Date: Wed, 6 May 2026 08:39:53 -0700 Subject: [PATCH] vmm: create memfd for private mappings User-defined zones may be mapped private. Create a memfd for private zones so that fallocate operations are available on all regions, not just shared ones. This prepares for zone management via hole punching. The MAP_ANONYMOUS flag is now omitted since the memory becomes tmpfs-backed via memfd. Signed-off-by: JP Kobryn --- vmm/src/memory_manager.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vmm/src/memory_manager.rs b/vmm/src/memory_manager.rs index 61e21aad6..dfe0f3e49 100644 --- a/vmm/src/memory_manager.rs +++ b/vmm/src/memory_manager.rs @@ -1932,8 +1932,8 @@ impl MemoryManager { mmap_flags |= libc::MAP_SHARED; Some(Self::create_anonymous_file(size, hugepages, hugepage_size)?) } else { - mmap_flags |= libc::MAP_PRIVATE | libc::MAP_ANONYMOUS; - None + mmap_flags |= libc::MAP_PRIVATE; + Some(Self::create_anonymous_file(size, hugepages, hugepage_size)?) }; let region = MmapRegion::build(fo, size, libc::PROT_READ | libc::PROT_WRITE, mmap_flags)