diff --git a/src/libos/src/vm/process_vm.rs b/src/libos/src/vm/process_vm.rs index 06d4125a..e637e42a 100644 --- a/src/libos/src/vm/process_vm.rs +++ b/src/libos/src/vm/process_vm.rs @@ -355,8 +355,9 @@ impl ProcessVM { } pub fn replace_mem_chunk(&self, old_chunk: &ChunkRef, new_chunk: ChunkRef) { - self.remove_mem_chunk(old_chunk); - self.add_mem_chunk(new_chunk) + let mut mem_chunks = self.mem_chunks.write().unwrap(); + mem_chunks.remove(old_chunk); + mem_chunks.insert(new_chunk); } // Try merging all connecting single VMAs of the process.