[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 (resend) 01/27] xen/vmap: Check the page has been mapped in vm_init_type()
From: Julien Grall <jgrall@xxxxxxxxxx> The function map_pages_to_xen() could fail if it can't allocate the underlying page tables or (at least on Arm) if the area was already mapped. The first error is caught by clear_page() because it would fault. However, the second error while very unlikely is not caught at all. As this is boot code, use BUG_ON() to check if map_pages_to_xen() has succeeded. Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> Signed-off-by: Elias El Yandouzi <eliasely@xxxxxxxxxx> ---- Changes in v2: - New patch diff --git a/xen/common/vmap.c b/xen/common/vmap.c index 330e2ba897..830f64c5ef 100644 --- a/xen/common/vmap.c +++ b/xen/common/vmap.c @@ -35,8 +35,11 @@ void __init vm_init_type(enum vmap_region type, void *start, void *end) for ( i = 0, va = (unsigned long)vm_bitmap(type); i < nr; ++i, va += PAGE_SIZE ) { struct page_info *pg = alloc_domheap_page(NULL, 0); + int rc; + + rc = map_pages_to_xen(va, page_to_mfn(pg), 1, PAGE_HYPERVISOR); + BUG_ON(rc); - map_pages_to_xen(va, page_to_mfn(pg), 1, PAGE_HYPERVISOR); clear_page((void *)va); } bitmap_fill(vm_bitmap(type), vm_low[type]); -- 2.40.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |