Re: [PATCH] net: ipv6: mcast: Removing invalid check

From: Eric Dumazet
Date: Sat May 14 2011 - 10:33:45 EST


Le samedi 14 mai 2011 Ã 16:43 +0300, Maxin B John a Ãcrit :
> Since the variable 'first' is assigned to 1, the check
> "if (truncate && !first)" will always be false.
>
> Thanks to Coverity for spotting this issue.
>
> Signed-off-by: Maxin B. John <maxin.john@xxxxxxxxx>
> ---
> diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c
> index 76b8937..441c1a4 100644
> --- a/net/ipv6/mcast.c
> +++ b/net/ipv6/mcast.c
> @@ -1536,8 +1536,6 @@ static struct sk_buff *add_grec(struct sk_buff *skb, struct ifmcaddr6 *pmc,
>
> if (AVAILABLE(skb) < sizeof(*psrc) +
> first*sizeof(struct mld2_grec)) {
> - if (truncate && !first)
> - break; /* truncate these */
> if (pgr)
> pgr->grec_nsrcs = htons(scount);
> if (skb)

At a first glance, I would say Coverity is wrong, unless you can explain
why it's right ;)

first can be 0 at this point, we are in a loop.

BTW "Removing invalid check" is a really wrong patch title.

Once you can prove your point, you should use "Remove useless check"

Thanks


--
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/