Re: [PATCH] drivers: Use kzalloc instead of 'kmalloc+memset',where possible.

From: Joe Perches
Date: Tue May 24 2011 - 13:09:37 EST


On Tue, 2011-05-24 at 22:59 +0600, Rakib Mullick wrote:
> On 5/23/11, Joe Perches <joe@xxxxxxxxxxx> wrote:
> > On Mon, 2011-05-23 at 23:40 +0600, Rakib Mullick wrote:
> >> Following patch removes the uses of 'kmalloc+memset' from various
> >> drivers subsystems, which is replaced by kzalloc. kzalloc take care of
> >> setting allocated memory with null, so it helps to get rid from using
> >> memset.
> >> diff --git a/drivers/gpu/drm/drm_scatter.c b/drivers/gpu/drm/drm_scatter.c
> > []
> >> - entry->pagelist = kmalloc(pages * sizeof(*entry->pagelist), GFP_KERNEL);
> >> + entry->pagelist = kzalloc(pages * sizeof(*entry->pagelist), GFP_KERNEL);
> > Perhaps it's better to use:
> > entry->pagelist = kcalloc(pages, sizeof(*entry->pagelist), GFP_KERNEL);
> >> - entry->busaddr = kmalloc(pages * sizeof(*entry->busaddr), GFP_KERNEL);
> >> + entry->busaddr = kzalloc(pages * sizeof(*entry->busaddr), GFP_KERNEL);
> > here too.
> Is there any significant benefit of using kcalloc here?

Overflow and tradition.

static inline void *kcalloc(size_t n, size_t size, gfp_t flags)
{
if (size != 0 && n > ULONG_MAX / size)
return NULL;
return __kmalloc(n * size, flags | __GFP_ZERO);
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/