mm: remove broken 'kzalloc' mempool
The kzalloc mempool zeros items when they are initially allocated, but does not rezero used items that are returned to the pool. Consequently mempool_alloc()s may return non-zeroed memory. Since there are/were only two in-tree users for mempool_create_kzalloc_pool(), and 'fixing' this in a way that will re-zero used (but not new) items before first use is non-trivial, just remove it. Signed-off-by: Sage Weil <sage@newdream.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
bbba809e96
Коммит
bba7881954
|
@ -47,22 +47,16 @@ mempool_create_slab_pool(int min_nr, struct kmem_cache *kc)
|
|||
}
|
||||
|
||||
/*
|
||||
* 2 mempool_alloc_t's and a mempool_free_t to kmalloc/kzalloc and kfree
|
||||
* the amount of memory specified by pool_data
|
||||
* a mempool_alloc_t and a mempool_free_t to kmalloc and kfree the
|
||||
* amount of memory specified by pool_data
|
||||
*/
|
||||
void *mempool_kmalloc(gfp_t gfp_mask, void *pool_data);
|
||||
void *mempool_kzalloc(gfp_t gfp_mask, void *pool_data);
|
||||
void mempool_kfree(void *element, void *pool_data);
|
||||
static inline mempool_t *mempool_create_kmalloc_pool(int min_nr, size_t size)
|
||||
{
|
||||
return mempool_create(min_nr, mempool_kmalloc, mempool_kfree,
|
||||
(void *) size);
|
||||
}
|
||||
static inline mempool_t *mempool_create_kzalloc_pool(int min_nr, size_t size)
|
||||
{
|
||||
return mempool_create(min_nr, mempool_kzalloc, mempool_kfree,
|
||||
(void *) size);
|
||||
}
|
||||
|
||||
/*
|
||||
* A mempool_alloc_t and mempool_free_t for a simple page allocator that
|
||||
|
|
|
@ -308,13 +308,6 @@ void *mempool_kmalloc(gfp_t gfp_mask, void *pool_data)
|
|||
}
|
||||
EXPORT_SYMBOL(mempool_kmalloc);
|
||||
|
||||
void *mempool_kzalloc(gfp_t gfp_mask, void *pool_data)
|
||||
{
|
||||
size_t size = (size_t)pool_data;
|
||||
return kzalloc(size, gfp_mask);
|
||||
}
|
||||
EXPORT_SYMBOL(mempool_kzalloc);
|
||||
|
||||
void mempool_kfree(void *element, void *pool_data)
|
||||
{
|
||||
kfree(element);
|
||||
|
|
Загрузка…
Ссылка в новой задаче