]> xenbits.xensource.com Git - people/dwmw2/xen.git/commitdiff
x86/mem_sharing: use INVALID_MFN and p2m_is_shared in relinquish_shared_pages
authorTamas K Lengyel <tamas.lengyel@intel.com>
Fri, 24 Jan 2020 09:25:12 +0000 (10:25 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 24 Jan 2020 09:25:12 +0000 (10:25 +0100)
While using _mfn(0) is of no consequence during teardown, INVALID_MFN is the
correct value that should be used.

Signed-off-by: Tamas K Lengyel <tamas.lengyel@intel.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/mm/mem_sharing.c

index 1846f97acc1edb1f263242f545b7e8152c0e3f9c..cc3fc976181491dc9e44714aadb07141fc29ed5b 100644 (file)
@@ -1314,7 +1314,7 @@ int relinquish_shared_pages(struct domain *d)
             break;
 
         mfn = p2m->get_entry(p2m, _gfn(gfn), &t, &a, 0, NULL, NULL);
-        if ( mfn_valid(mfn) && t == p2m_ram_shared )
+        if ( mfn_valid(mfn) && p2m_is_shared(t) )
         {
             /* Does not fail with ENOMEM given the DESTROY flag */
             BUG_ON(__mem_sharing_unshare_page(
@@ -1324,7 +1324,7 @@ int relinquish_shared_pages(struct domain *d)
              * unshare.  Must succeed: we just read the old entry and
              * we hold the p2m lock.
              */
-            set_rc = p2m->set_entry(p2m, _gfn(gfn), _mfn(0), PAGE_ORDER_4K,
+            set_rc = p2m->set_entry(p2m, _gfn(gfn), INVALID_MFN, PAGE_ORDER_4K,
                                     p2m_invalid, p2m_access_rwx, -1);
             ASSERT(!set_rc);
             count += 0x10;