|
@@ -904,6 +904,14 @@ static void *vb_alloc(unsigned long size, gfp_t gfp_mask)
|
|
|
|
|
|
BUG_ON(size & ~PAGE_MASK);
|
|
BUG_ON(size & ~PAGE_MASK);
|
|
BUG_ON(size > PAGE_SIZE*VMAP_MAX_ALLOC);
|
|
BUG_ON(size > PAGE_SIZE*VMAP_MAX_ALLOC);
|
|
|
|
+ if (WARN_ON(size == 0)) {
|
|
|
|
+ /*
|
|
|
|
+ * Allocating 0 bytes isn't what caller wants since
|
|
|
|
+ * get_order(0) returns funny result. Just warn and terminate
|
|
|
|
+ * early.
|
|
|
|
+ */
|
|
|
|
+ return NULL;
|
|
|
|
+ }
|
|
order = get_order(size);
|
|
order = get_order(size);
|
|
|
|
|
|
again:
|
|
again:
|