On 14.07.2025 17:00, Roger Pau Monné wrote: > On Mon, Jul 07, 2025 at 04:44:25PM +0200, Jan Beulich wrote: >> --- a/xen/arch/x86/hvm/emulate.c >> +++ b/xen/arch/x86/hvm/emulate.c >> @@ -184,6 +184,22 @@ static int hwdom_fixup_p2m(paddr_t addr) >> !is_memory_hole(_mfn(gfn), _mfn(gfn)) ) >> return -EPERM; >> >> + /* >> + * Much like get_page_from_l1e() for PV Dom0 does, check that the page >> + * accessed is actually an MMIO one: Either its MFN is out of range, or >> + * it's owned by DOM_IO. >> + */ >> + if ( mfn_valid(_mfn(gfn)) ) >> + { >> + struct page_info *pg = mfn_to_page(_mfn(gfn)); > > We should consider introducing a mfn_t mfn = _mfn(gfn) local variable, > as there's a non-trivial amount of _mfn(gfn) instances. Not that you > need to do it here, just noticed the amount of instances we have of > it.
There already is an "mfn" local there, and I first used it here, but then considered the result confusing. Jan