Re: [PATCH] kernel: power: swap: Make use of vzalloc() and kzalloc()

From: Rafael J. Wysocki
Date: Thu Oct 21 2021 - 07:06:41 EST


On Mon, Oct 18, 2021 at 3:16 PM Cai Huoqing <caihuoqing@xxxxxxxxx> wrote:
>
> Replacing vmalloc()/memset() with vzalloc() and replacing
> kmalloc()/memset() with kzalloc() to simplify the code.
>
> Signed-off-by: Cai Huoqing <caihuoqing@xxxxxxxxx>
> ---
> kernel/power/swap.c | 14 ++++----------
> 1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/kernel/power/swap.c b/kernel/power/swap.c
> index 9ec418955556..5e8368fa348c 100644
> --- a/kernel/power/swap.c
> +++ b/kernel/power/swap.c
> @@ -705,22 +705,19 @@ static int save_image_lzo(struct swap_map_handle *handle,
> goto out_clean;
> }
>
> - data = vmalloc(array_size(nr_threads, sizeof(*data)));
> + data = vzalloc(array_size(nr_threads, sizeof(*data)));
> if (!data) {
> pr_err("Failed to allocate LZO data\n");
> ret = -ENOMEM;
> goto out_clean;
> }
> - for (thr = 0; thr < nr_threads; thr++)
> - memset(&data[thr], 0, offsetof(struct cmp_data, go));
>
> - crc = kmalloc(sizeof(*crc), GFP_KERNEL);
> + crc = kzalloc(sizeof(*crc), GFP_KERNEL);
> if (!crc) {
> pr_err("Failed to allocate crc\n");
> ret = -ENOMEM;
> goto out_clean;
> }
> - memset(crc, 0, offsetof(struct crc_data, go));
>
> /*
> * Start the compression threads.
> @@ -1198,22 +1195,19 @@ static int load_image_lzo(struct swap_map_handle *handle,
> goto out_clean;
> }
>
> - data = vmalloc(array_size(nr_threads, sizeof(*data)));
> + data = vzalloc(array_size(nr_threads, sizeof(*data)));
> if (!data) {
> pr_err("Failed to allocate LZO data\n");
> ret = -ENOMEM;
> goto out_clean;
> }
> - for (thr = 0; thr < nr_threads; thr++)
> - memset(&data[thr], 0, offsetof(struct dec_data, go));
>
> - crc = kmalloc(sizeof(*crc), GFP_KERNEL);
> + crc = kzalloc(sizeof(*crc), GFP_KERNEL);
> if (!crc) {
> pr_err("Failed to allocate crc\n");
> ret = -ENOMEM;
> goto out_clean;
> }
> - memset(crc, 0, offsetof(struct crc_data, go));
>
> clean_pages_on_decompress = true;
>
> --

Applied as 5.16 material with some edits in the subject and changelog, thanks!