提交 1c542f38 编写于 作者: K Kees Cook

mm: Introduce kvcalloc()

The kv*alloc()-family was missing kvcalloc(). Adding this allows for
2-argument multiplication conversions of kvzalloc(a * b, ...) into
kvcalloc(a, b, ...).
Signed-off-by: NKees Cook <keescook@chromium.org>
上级 9f645bcc
...@@ -575,6 +575,11 @@ static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags) ...@@ -575,6 +575,11 @@ static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags)
return kvmalloc(bytes, flags); return kvmalloc(bytes, flags);
} }
static inline void *kvcalloc(size_t n, size_t size, gfp_t flags)
{
return kvmalloc_array(n, size, flags | __GFP_ZERO);
}
extern void kvfree(const void *addr); extern void kvfree(const void *addr);
static inline atomic_t *compound_mapcount_ptr(struct page *page) static inline atomic_t *compound_mapcount_ptr(struct page *page)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册