• David Rientjes's avatar
    mm, mempool: disallow mempools based on slab caches with constructors · e244c9e6
    David Rientjes authored
    All occurrences of mempools based on slab caches with object constructors
    have been removed from the tree, so disallow creating them.
    
    We can only dereference mem->ctor in mm/mempool.c without including
    mm/slab.h in include/linux/mempool.h.  So simply note the restriction,
    just like the comment restricting usage of __GFP_ZERO, and warn on kernels
    with CONFIG_DEBUG_VM() if such a mempool is allocated from.
    
    We don't want to incur this check on every element allocation, so use
    VM_BUG_ON().
    Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
    Cc: Dave Kleikamp <shaggy@kernel.org>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
    Cc: Mikulas Patocka <mpatocka@redhat.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e244c9e6
mempool.c 10.7 KB