aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slab.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/slab.c')
-rw-r--r--mm/slab.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/mm/slab.c b/mm/slab.c
index a5047161084e..6f5aeebd4306 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -3108,6 +3108,23 @@ void *kmem_cache_alloc(struct kmem_cache *cachep, gfp_t flags)
3108EXPORT_SYMBOL(kmem_cache_alloc); 3108EXPORT_SYMBOL(kmem_cache_alloc);
3109 3109
3110/** 3110/**
3111 * kmem_cache_alloc - Allocate an object. The memory is set to zero.
3112 * @cache: The cache to allocate from.
3113 * @flags: See kmalloc().
3114 *
3115 * Allocate an object from this cache and set the allocated memory to zero.
3116 * The flags are only relevant if the cache has no available objects.
3117 */
3118void *kmem_cache_zalloc(struct kmem_cache *cache, gfp_t flags)
3119{
3120 void *ret = __cache_alloc(cache, flags, __builtin_return_address(0));
3121 if (ret)
3122 memset(ret, 0, obj_size(cache));
3123 return ret;
3124}
3125EXPORT_SYMBOL(kmem_cache_zalloc);
3126
3127/**
3111 * kmem_ptr_validate - check if an untrusted pointer might 3128 * kmem_ptr_validate - check if an untrusted pointer might
3112 * be a slab entry. 3129 * be a slab entry.
3113 * @cachep: the cache we're checking against 3130 * @cachep: the cache we're checking against