From: Jan Beulich Date: Thu, 18 Aug 2022 07:28:05 +0000 (+0200) Subject: x86/shadow: slightly consolidate sh_unshadow_for_p2m_change() (part I) X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0caf699e69d79f54b94191e2f84956713c4be0da;p=people%2Froyger%2Fxen.git x86/shadow: slightly consolidate sh_unshadow_for_p2m_change() (part I) Replace a p2m_is_ram() check in the 2M case by an explicit _PAGE_PRESENT one, to make more obvious that the subsequent l1e_get_mfn() actually retrieves something that really is an MFN. It doesn't really matter whether it's RAM, as the subsequent comparison with the original MFN is going to lead to zapping of everything except the "same MFN again" case. Signed-off-by: Jan Beulich Acked-by: Tim Deegan --- diff --git a/xen/arch/x86/mm/shadow/hvm.c b/xen/arch/x86/mm/shadow/hvm.c index 9438a1a7ad..fbfae450a0 100644 --- a/xen/arch/x86/mm/shadow/hvm.c +++ b/xen/arch/x86/mm/shadow/hvm.c @@ -856,7 +856,7 @@ static void cf_check sh_unshadow_for_p2m_change( for ( i = 0; i < L1_PAGETABLE_ENTRIES; i++ ) { if ( !npte || - !p2m_is_ram(p2m_flags_to_type(l1e_get_flags(npte[i]))) || + !(l1e_get_flags(npte[i]) & _PAGE_PRESENT) || !mfn_eq(l1e_get_mfn(npte[i]), omfn) ) { /* This GFN->MFN mapping has gone away */