diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 3231bf3328781b023c9e3b0b772aa1685c940d31..1d8b32f0713977ad2e3aeb6ba3d2554bb1389b53 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -1633,6 +1633,8 @@ void *__vmalloc_node_range(unsigned long size, unsigned long align,
 		goto fail;
 
 	addr = __vmalloc_area_node(area, gfp_mask, prot, node, caller);
+	if (!addr)
+		return NULL;
 
 	/*
 	 * In this function, newly allocated vm_struct is not added