Re: [PATCH] flow disector: check if arp_eth is null rather than arp

From: Eric Dumazet
Date: Fri Jan 13 2017 - 13:36:20 EST


On Fri, 2017-01-13 at 18:25 +0000, Colin Ian King wrote:
> On 13/01/17 18:24, Eric Dumazet wrote:

> > It looks that we try very hard to add critical bugs in flow dissector.
> >
> > This is embarrassing really.
> >
> > I am questioning if the __skb_header_pointer() is correct
> >
> > Why using hlen - sizeof(_arp) ?
> >
> > arp_eth = __skb_header_pointer(skb, nhoff + sizeof(_arp),
> > sizeof(_arp_eth), data,
> > hlen - sizeof(_arp),
> > &_arp_eth);
> >
>
> Yep, the sizeof maybe dubious too, I overlooked that one; if somebody
> can clarify that then I'll send a V2 if it needs fixing up too.

I am pretty sure we should use hlen instead of (hlen - sizeof(_arp))

A V2 would be nice ;)