Re: [PATCH] drivers: Conversions from kmalloc+memset to k(z|c)alloc.

Paul Mackerras
2006-07-19T12:53:23Z

Panagiotis Issaris writes:

> diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c
> index 1507d19..48c6f83 100644
> --- a/drivers/video/aty/atyfb_base.c
> +++ b/drivers/video/aty/atyfb_base.c
> @@ -2995,12 +2995,11 @@ static int __devinit atyfb_setup_sparc(s
> /* nothing */ ;
> j = i + 4;
>
> - par->mmap_map = kmalloc(j * sizeof(*par->mmap_map), GFP_ATOMIC);
> + par->mmap_map = kcalloc(j, sizeof(*par->mmap_map), GFP_ATOMIC);
> if (!par->mmap_map) {
> PRINTKE("atyfb_setup_sparc() can't alloc mmap_map\n");
> return -ENOMEM;
> }
> - memset(par->mmap_map, 0, j * sizeof(*par->mmap_map));

What exactly do we gain by using kcalloc rather than kzalloc here?
There is no potential overflow issue to worry about.

> @@ -464,7 +463,7 @@ #ifdef __sparc__
> * one additional region with size == 0.
> */
>
> - par->mmap_map = kmalloc(4 * sizeof(*par->mmap_map), GFP_ATOMIC);
> + par->mmap_map = kcalloc(4, sizeof(*par->mmap_map), GFP_ATOMIC);

Likewise.

Paul.