From: kaf24@firebug.cl.cam.ac.uk Date: Thu, 15 Jun 2006 10:35:23 +0000 (+0100) Subject: [LINUX] Only destroy a machine-contiguous memory region if X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15955^2~6 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=aedc7640e603f4da39a1c7cb2b5928197ea7221b;p=xen.git [LINUX] Only destroy a machine-contiguous memory region if it really is contiguous (e.g., create_contiguous did not fail). Signed-off-by: Keir Fraser --- diff --git a/linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c b/linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c index e2f3a554a3..f9615358d1 100644 --- a/linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c +++ b/linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c @@ -365,7 +365,8 @@ void xen_destroy_contiguous_region(unsigned long vstart, unsigned int order) }; set_xen_guest_handle(reservation.extent_start, &frame); - if (xen_feature(XENFEAT_auto_translated_physmap)) + if (xen_feature(XENFEAT_auto_translated_physmap) || + !test_bit(__pa(vstart) >> PAGE_SHIFT, contiguous_bitmap)) return; scrub_pages(vstart, 1 << order);