diff options
author | Pekka Enberg <penberg@cs.helsinki.fi> | 2006-03-25 03:06:42 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-25 08:22:49 -0800 |
commit | a8c0f9a41f88da703ade33f9c1626a55c786e8bb (patch) | |
tree | 8c2904597c61b873bfd85eed4ac196dd66e6f125 /mm/slob.c | |
parent | 871751e25d956ad24f129ca972b7851feaa61d53 (diff) | |
download | lwn-a8c0f9a41f88da703ade33f9c1626a55c786e8bb.tar.gz lwn-a8c0f9a41f88da703ade33f9c1626a55c786e8bb.zip |
[PATCH] slab: introduce kmem_cache_zalloc allocator
Introduce a memory-zeroing variant of kmem_cache_alloc. The allocator
already exits in XFS and there are potential users for it so this patch
makes the allocator available for the general public.
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/slob.c')
-rw-r--r-- | mm/slob.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mm/slob.c b/mm/slob.c index a1f42bdc0245..9bcc7e2cabfd 100644 --- a/mm/slob.c +++ b/mm/slob.c @@ -294,6 +294,16 @@ void *kmem_cache_alloc(struct kmem_cache *c, gfp_t flags) } EXPORT_SYMBOL(kmem_cache_alloc); +void *kmem_cache_zalloc(struct kmem_cache *c, gfp_t flags) +{ + void *ret = kmem_cache_alloc(c, flags); + if (ret) + memset(ret, 0, c->size); + + return ret; +} +EXPORT_SYMBOL(kmem_cache_zalloc); + void kmem_cache_free(struct kmem_cache *c, void *b) { if (c->dtor) |