From bda802cf29e04c8954f69dd35a1819a3992b12c6 Mon Sep 17 00:00:00 2001 From: Michael Hoyle Date: Tue, 10 Nov 2020 16:41:15 -0800 Subject: [PATCH] base: move mmap.remove_range to Unix trait RESTRICT AUTOMERGE BUG=b:162363783 TEST=./build_test Change-Id: I851c38ce1fb84e28a6e391c61e56f2fb05cbf08f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2572740 Reviewed-by: Daniel Verkamp Tested-by: kokoro Commit-Queue: Michael Hoyle --- base/src/lib.rs | 1 + base/src/mmap.rs | 8 +++++++- vm_memory/src/guest_memory.rs | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/base/src/lib.rs b/base/src/lib.rs index 7f886324f2..2e9b2ebfa2 100644 --- a/base/src/lib.rs +++ b/base/src/lib.rs @@ -17,6 +17,7 @@ pub use event::{Event, EventReadResult, ScopedEvent}; pub use ioctl::{ ioctl, ioctl_with_mut_ptr, ioctl_with_mut_ref, ioctl_with_ptr, ioctl_with_ref, ioctl_with_val, }; +pub use mmap::Unix as MemoryMappingUnix; pub use mmap::{MemoryMapping, MemoryMappingBuilder}; pub use shm::{SharedMemory, Unix as SharedMemoryUnix}; pub use sys_util::ioctl::*; diff --git a/base/src/mmap.rs b/base/src/mmap.rs index 34c84acdda..aaa7c24393 100644 --- a/base/src/mmap.rs +++ b/base/src/mmap.rs @@ -53,8 +53,14 @@ impl MemoryMapping { self.0 .write_from_memory(mem_offset, &wrap_descriptor(dst), count) } +} - pub fn remove_range(&self, mem_offset: usize, count: usize) -> Result<()> { +pub trait Unix { + fn remove_range(&self, mem_offset: usize, count: usize) -> Result<()>; +} + +impl Unix for MemoryMapping { + fn remove_range(&self, mem_offset: usize, count: usize) -> Result<()> { self.0.remove_range(mem_offset, count) } } diff --git a/vm_memory/src/guest_memory.rs b/vm_memory/src/guest_memory.rs index a7b9d5305d..b74a0bdd82 100644 --- a/vm_memory/src/guest_memory.rs +++ b/vm_memory/src/guest_memory.rs @@ -14,8 +14,8 @@ use std::sync::Arc; use crate::guest_address::GuestAddress; use base::{pagesize, Error as SysError}; use base::{ - AsRawDescriptor, MappedRegion, MemfdSeals, MemoryMapping, MemoryMappingBuilder, MmapError, - RawDescriptor, SharedMemory, SharedMemoryUnix, + AsRawDescriptor, MappedRegion, MemfdSeals, MemoryMapping, MemoryMappingBuilder, + MemoryMappingUnix, MmapError, RawDescriptor, SharedMemory, SharedMemoryUnix, }; use cros_async::{ uring_mem::{self, BorrowedIoVec},