Subject: Re: [PATCH 1/4] xfrm_hash: kmalloc + memset conversion to kzalloc

From: Patrick McHardy <[email-masked]>
Date: Mon, 26 Nov 2007 10:10:47 +0100

Joonwoo Park wrote:
> diff --git a/net/xfrm/xfrm_hash.c b/net/xfrm/xfrm_hash.c
> index 55ab579..37795bd 100644
> --- a/net/xfrm/xfrm_hash.c
> +++ b/net/xfrm/xfrm_hash.c
> @@ -17,16 +17,17 @@ struct hlist_head *xfrm_hash_alloc(unsigned int sz)
>  	struct hlist_head *n;
>  
>  	if (sz <= PAGE_SIZE)
> -		n = kmalloc(sz, GFP_KERNEL);
> -	else if (hashdist)
> -		n = __vmalloc(sz, GFP_KERNEL, PAGE_KERNEL);
> -	else
> -		n = (struct hlist_head *)
> -			__get_free_pages(GFP_KERNEL | __GFP_NOWARN,
> -					 get_order(sz));
> -
> -	if (n)
> -		memset(n, 0, sz);
> +		n = kzalloc(sz, GFP_KERNEL);
> +	else {
> +		if (hashdist)
> +			n = __vmalloc(sz, GFP_KERNEL, PAGE_KERNEL);
> +		else
> +			n = (struct hlist_head *)
> +				__get_free_pages(GFP_KERNEL | __GFP_NOWARN,
> +						 get_order(sz));
> +		if (n)
> +			memset(n, 0, sz);

How about also switching vmalloc/get_free_pages to GFP_ZERO
and getting rid of the memset entirely while you're at it?