From: Roger Pau Monné Date: Tue, 29 Apr 2025 09:44:04 +0000 (+0200) Subject: x86/mm: account for the offset when performing subpage r/o MMIO access X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=dee15facf81d1f0f6e91ca52eb1f0f8f1b2a20dc;p=xen.git x86/mm: account for the offset when performing subpage r/o MMIO access The current logic in subpage_mmio_write_emulate() doesn't take into account the page offset, and always performs the writes at offset 0 (start of the page). Fix this by accounting for the offset before performing the write. Fixes: 8847d6e23f97 ('x86/mm: add API for marking only part of a MMIO page read only') Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper master commit: 38d07809794e3c723a4de7e10c25c1f6cb590dc6 master date: 2025-04-15 16:01:48 +0200 --- diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index e6a61520d5..0d242739b1 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -5128,6 +5128,7 @@ static void subpage_mmio_write_emulate( return; } + addr += offset; switch ( len ) { case 1: