From aedc7640e603f4da39a1c7cb2b5928197ea7221b Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Thu, 15 Jun 2006 11:35:23 +0100 Subject: [PATCH] [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 --- linux-2.6-xen-sparse/arch/i386/mm/hypervisor.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- 2.30.2