Subject: Re: [PATCH] net-hsr: Delete unnecessary checks before the function call "kfree_skb"

From: Arvid Brodin <[email-masked]>
Date: Tue, 24 Nov 2015 14:42:41 +0100

On 2015-11-14 22:28, SF Markus Elfring wrote:
> From: Markus Elfring <[email-masked]>
> Date: Sat, 14 Nov 2015 22:23:48 +0100
> 
> The kfree_skb() function tests whether its argument is NULL and then
> returns immediately. Thus the test around the calls is not needed.
> 

> diff --git a/net/hsr/hsr_forward.c b/net/hsr/hsr_forward.c
> index 7871ed6..55ba943 100644
> --- a/net/hsr/hsr_forward.c
> +++ b/net/hsr/hsr_forward.c
> @@ -355,11 +355,8 @@ void hsr_forward_skb(struct sk_buff *skb, struct hsr_port *port)
>  		goto out_drop;
>  	hsr_register_frame_in(frame.node_src, port, frame.sequence_nr);
>  	hsr_forward_do(&frame);
> -
> -	if (frame.skb_hsr != NULL)
> -		kfree_skb(frame.skb_hsr);
> -	if (frame.skb_std != NULL)
> -		kfree_skb(frame.skb_std);
> +	kfree_skb(frame.skb_hsr);
> +	kfree_skb(frame.skb_std);

Thanks for doing checks on the HSR code, and I apologise for the late reply! Not sure if this has
already been applied, but:

You're right of course that these checks are not strictly necessary. However, it is likely that at 
least one of these (.skb_hsr or .skb_std) will be NULL here, so it could be considered nice form to 
check for this and not just trust kfree_skb() to do this. I'm not sure what's considered more 
correct in the kernel, so I will just say that I'm agnostic about this and let others decide.

Again, thanks!

-- 
Arvid Brodin
ALTEN Sweden
www.alten.com | www.alten.se