diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2022-03-08 05:02:21 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2022-03-08 09:30:46 -0500 |
commit | 3000f2e2fc855664c28d3e6a47e0373737974eb4 (patch) | |
tree | 523804b14bc1657ea7755c27d087707a5fc3a360 /mm/swap_cgroup.c | |
parent | a8749a35c39903120ec421ef2525acc8e0daa55c (diff) |
mm: use vmalloc_array and vcalloc for array allocations
Instead of using array_size or just a multiply, use a function that
takes care of both the multiplication and the overflow checks.
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mm/swap_cgroup.c')
-rw-r--r-- | mm/swap_cgroup.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/mm/swap_cgroup.c b/mm/swap_cgroup.c index 7f34343c075a..5a9442979a18 100644 --- a/mm/swap_cgroup.c +++ b/mm/swap_cgroup.c @@ -167,14 +167,12 @@ unsigned short lookup_swap_cgroup_id(swp_entry_t ent) int swap_cgroup_swapon(int type, unsigned long max_pages) { void *array; - unsigned long array_size; unsigned long length; struct swap_cgroup_ctrl *ctrl; length = DIV_ROUND_UP(max_pages, SC_PER_PAGE); - array_size = length * sizeof(void *); - array = vzalloc(array_size); + array = vcalloc(length, sizeof(void *)); if (!array) goto nomem; |