From: Andrew Cooper Date: Thu, 21 May 2015 06:57:19 +0000 (+0200) Subject: vmap: avoid hitting an ASSERT with vfree(NULL) X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3212 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=640f891eb258563bb155e577389e8c5e6541a59a;p=xen.git vmap: avoid hitting an ASSERT with vfree(NULL) and unconditionally defer the vm_size() call, as it doesn't have a NULL short circuit. Reported-by: Wei Liu Signed-off-by: Andrew Cooper Tested-by: Wei Liu Reviewed-by: Roger Pau Monné Acked-by: Tim Deegan --- diff --git a/xen/common/vmap.c b/xen/common/vmap.c index 8752595cdb..ac66a8c41b 100644 --- a/xen/common/vmap.c +++ b/xen/common/vmap.c @@ -268,10 +268,14 @@ void *vzalloc(size_t size) void vfree(void *va) { - unsigned int i, pages = vm_size(va); + unsigned int i, pages; struct page_info *pg; PAGE_LIST_HEAD(pg_list); + if ( !va ) + return; + + pages = vm_size(va); ASSERT(pages); for ( i = 0; i < pages; i++ )