From 3019d4fac7db165860444a96f942385c580c4788 Mon Sep 17 00:00:00 2001 From: Sebastian Ott Date: Wed, 14 May 2014 10:01:42 +1000 Subject: [PATCH] mm/mempool: warn about __GFP_ZERO usage Memory obtained via mempool_alloc is not always zeroed even when called with __GFP_ZERO. Add a note and VM_BUG_ON statement to make that clear. Signed-off-by: Sebastian Ott Signed-off-by: Andrew Morton --- mm/mempool.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/mempool.c b/mm/mempool.c index 905434f18c97..e12664eaaf58 100644 --- a/mm/mempool.c +++ b/mm/mempool.c @@ -192,6 +192,7 @@ EXPORT_SYMBOL(mempool_resize); * returns NULL. Note that due to preallocation, this function * *never* fails when called from process contexts. (it might * fail if called from an IRQ context.) + * Note: using __GFP_ZERO is not supported. */ void * mempool_alloc(mempool_t *pool, gfp_t gfp_mask) { @@ -200,6 +201,7 @@ void * mempool_alloc(mempool_t *pool, gfp_t gfp_mask) wait_queue_t wait; gfp_t gfp_temp; + VM_BUG_ON(gfp_mask & __GFP_ZERO); might_sleep_if(gfp_mask & __GFP_WAIT); gfp_mask |= __GFP_NOMEMALLOC; /* don't allocate emergency reserves */ -- 2.39.5