File 5a95571f-memory-dont-implicitly-unpin-in-decrease-res.patch of Package xen.7317

# Commit d798a0952903db9d8ee0a580e03f214d2b49b7d7
# Date 2018-02-27 14:03:27 +0100
# Author Jan Beulich <jbeulich@suse.com>
# Committer Jan Beulich <jbeulich@suse.com>
memory: don't implicitly unpin for decrease-reservation

It very likely was a mistake (copy-and-paste from domain cleanup code)
to implicitly unpin here: The caller should really unpin itself before
(or after, if they so wish) requesting the page to be removed.

This is XSA-252.

Reported-by: Jann Horn <jannh@google.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -312,9 +312,6 @@ int guest_remove_page(struct domain *d,
 
     rc = guest_physmap_remove_page(d, gmfn, mfn, 0);
 
-    if ( !rc && test_and_clear_bit(_PGT_pinned, &page->u.inuse.type_info) )
-        put_page_and_type(page);
-            
     if ( !rc && test_and_clear_bit(_PGC_allocated, &page->count_info) )
         put_page(page);
 
openSUSE Build Service is sponsored by