Hi Jan, > On 12 Mar 2025, at 11:30, Jan Beulich <jbeul...@suse.com> wrote: > > The justification for dropping p2m_mmio_dm from p2m_is_valid() was wrong > for two of the shadow mode uses. > > In _sh_propagate() we want to create special L1 entries for p2m_mmio_dm > pages. Hence we need to make sure we don't bail early for that type. > > In _sh_page_fault() we want to handle p2m_mmio_dm by forwarding to > (internal or external) emulation. Pull the !p2m_is_mmio() check out of > the || expression (as otherwise it would need adding to the lhs as > well). > > In both cases, p2m_is_valid() in combination with p2m_is_grant() still > doesn't cover foreign mappings. Hence use p2m_is_any_ram() plus (as > necessary) p2m_mmio_* instead. > > Fixes: be59cceb2dbb ("x86/P2M: don't include MMIO_DM in p2m_is_valid()") > Reported-by: Luca Fancellu <luca.fance...@arm.com> > Signed-off-by: Jan Beulich <jbeul...@suse.com> > Acked-by: Roger Pau Monné <roger....@citrix.com> > ---
I’ve tested this one on top of the current staging and it fixes the XTF regression I was experiencing: Tested-by: Luca Fancellu <luca.fance...@arm.com>