On Wed, 15 Jun 2016 06:24:00 -0700, Eric Dumazet wrote: > From: Eric Dumazet <eduma...@google.com> > > 1) gre_parse_header() can be called from gre_err() > > At this point transport header points to ICMP header, not the inner > header. > > 2) We can not really change transport header as ipgre_err() will later > assume transport header still points to ICMP header (using icmp_hdr()) > > 3) pskb_may_pull() logic in gre_parse_header() really works > if we are interested at zone pointed by skb->data > > 4) As Jiri explained in commit b7f8fe251e46 ("gre: do not pull header in > ICMP error processing") we should not pull headers in error handler. > > So this fix : > > A) changes gre_parse_header() to use skb->data instead of > skb_transport_header() > > B) Adds a nhs parameter to gre_parse_header() so that we can skip the > not pulled IP header from error path. > This offset is 0 for normal receive path. > > C) remove obsolete IPV6 includes > > Signed-off-by: Eric Dumazet <eduma...@google.com> > Cc: Tom Herbert <t...@herbertland.com> > Cc: Maciej Żenczykowski <m...@google.com> > Cc: Jiri Benc <jb...@redhat.com>
Reviewed-by: Jiri Benc <jb...@redhat.com> I know this has already been applied. Didn't get to it earlier, sorry. The patch looks good. Thanks! Jiri