]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mm/mempool: warn about __GFP_ZERO usage
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Thu, 22 May 2014 00:42:48 +0000 (10:42 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 22 May 2014 00:42:48 +0000 (10:42 +1000)
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 <sebott@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/mempool.c

index 905434f18c9738a18cd20364131a952336325411..e12664eaaf5834300acc46bcae34f941673e105a 100644 (file)
@@ -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 */