From 1e4faa2d25639856f776460e8cbbe2b48843dd20 Mon Sep 17 00:00:00 2001 From: Konrad Rzeszutek Wilk Date: Thu, 17 Mar 2016 13:48:24 +0100 Subject: [PATCH] vmap: ASSERT on NULL The vmap_to_page macro (three levels deep!) can come up with a NULL pointer. Lets add the proper ASSERT to catch this errant behavior. Signed-off-by: Konrad Rzeszutek Wilk --- xen/common/vmap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xen/common/vmap.c b/xen/common/vmap.c index c57239ff0a..134eda08d6 100644 --- a/xen/common/vmap.c +++ b/xen/common/vmap.c @@ -279,8 +279,12 @@ void vfree(void *va) ASSERT(pages); for ( i = 0; i < pages; i++ ) - page_list_add(vmap_to_page(va + i * PAGE_SIZE), &pg_list); + { + struct page_info *page = vmap_to_page(va + i * PAGE_SIZE); + ASSERT(page); + page_list_add(page, &pg_list); + } vunmap(va); while ( (pg = page_list_remove_head(&pg_list)) != NULL ) -- 2.39.5