]> xenbits.xensource.com Git - people/tklengyel/xen.git/commitdiff
x86/shadow: slightly consolidate sh_unshadow_for_p2m_change() (part I)
authorJan Beulich <jbeulich@suse.com>
Thu, 18 Aug 2022 07:28:05 +0000 (09:28 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 18 Aug 2022 07:28:05 +0000 (09:28 +0200)
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 <jbeulich@suse.com>
Acked-by: Tim Deegan <tim@xen.org>
xen/arch/x86/mm/shadow/hvm.c

index 9438a1a7adafec57c78d8d4c4d7f4e71d4fde642..fbfae450a0ecd1aab177012a53317ab2a7ac3a04 100644 (file)
@@ -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 */