From 8b72f46e158d43a41929dd86fc84c420756c65e8 Mon Sep 17 00:00:00 2001 From: SrinivasShekar Date: Wed, 19 Nov 2025 06:38:34 +0000 Subject: [PATCH 1/2] Removing the ide file --- vm/vmcore/guestmem/src/lib.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/vm/vmcore/guestmem/src/lib.rs b/vm/vmcore/guestmem/src/lib.rs index a78e28d866..842d8efee9 100644 --- a/vm/vmcore/guestmem/src/lib.rs +++ b/vm/vmcore/guestmem/src/lib.rs @@ -1900,6 +1900,23 @@ impl GuestMemory { }) } + /// Check if a given PagedRange is readable or not. + pub fn probe_gpn_readable_range(&self, range: &PagedRange<'_>) -> Result<(), GuestMemoryError> { + self.op_range(GuestMemoryOperation::Probe, range, move |addr, _r| { + let mut b = [0]; + self.read_at_inner(addr, &mut b) + }) + } + + /// Check if a given PagedRange is writable or not. + pub fn probe_gpn_writable_range(&self, range: &PagedRange<'_>) -> Result<(), GuestMemoryError> { + self.op_range(GuestMemoryOperation::Probe, range, move |addr, _r| { + self.compare_exchange(addr, 0u8, 0) + .map(|_| ()) + .map_err(|err| GuestMemoryBackingError::other(addr, err)) + }) + } + /// Check if a given GPA is readable or not. pub fn probe_gpa_readable(&self, gpa: u64) -> Result<(), GuestMemoryErrorKind> { let mut b = [0]; From 258e5148c415b0a83b12f69b3c870965197b9981 Mon Sep 17 00:00:00 2001 From: SrinivasShekar Date: Fri, 19 Dec 2025 15:23:42 +0000 Subject: [PATCH 2/2] Updated the guestmemory method --- vm/vmcore/guestmem/src/lib.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vm/vmcore/guestmem/src/lib.rs b/vm/vmcore/guestmem/src/lib.rs index 842d8efee9..da6470266e 100644 --- a/vm/vmcore/guestmem/src/lib.rs +++ b/vm/vmcore/guestmem/src/lib.rs @@ -1903,8 +1903,7 @@ impl GuestMemory { /// Check if a given PagedRange is readable or not. pub fn probe_gpn_readable_range(&self, range: &PagedRange<'_>) -> Result<(), GuestMemoryError> { self.op_range(GuestMemoryOperation::Probe, range, move |addr, _r| { - let mut b = [0]; - self.read_at_inner(addr, &mut b) + self.read_plain_inner(addr) }) }