mm: vmalloc: introduce array allocation functions

commit a8749a35c39903120ec421ef2525acc8e0daa55c upstream.

Linux has dozens of occurrences of vmalloc(array_size()) and
vzalloc(array_size()).  Allow to simplify the code by providing
vmalloc_array and vcalloc, as well as the underscored variants that let
the caller specify the GFP flags.

Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alexander Ofitserov <oficerovas@altlinux.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Paolo Bonzini
2022-03-08 04:47:22 -05:00
committed by Greg Kroah-Hartman
parent 02f629bb46
commit 95670878a6
2 changed files with 55 additions and 0 deletions

View File

@@ -112,6 +112,11 @@ extern void *__vmalloc_node_range(unsigned long size, unsigned long align,
void *__vmalloc_node(unsigned long size, unsigned long align, gfp_t gfp_mask,
int node, const void *caller);
extern void *__vmalloc_array(size_t n, size_t size, gfp_t flags);
extern void *vmalloc_array(size_t n, size_t size);
extern void *__vcalloc(size_t n, size_t size, gfp_t flags);
extern void *vcalloc(size_t n, size_t size);
extern void vfree(const void *addr);
extern void vfree_atomic(const void *addr);