gre: do not pull header in ICMP error processing
authorJiri Benc <jbenc@redhat.com>
Fri, 29 Apr 2016 21:31:32 +0000 (23:31 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 May 2016 04:19:58 +0000 (00:19 -0400)
commitb7f8fe251e4609e2a437bd2c2dea01e61db6849c
tree2c1fec745c1ddb827e787b68e16b8ca987874aeb
parent2c94b53738549d81dc7464a32117d1f5112c64d3
gre: do not pull header in ICMP error processing

iptunnel_pull_header expects that IP header was already pulled; with this
expectation, it pulls the tunnel header. This is not true in gre_err.
Furthermore, ipv4_update_pmtu and ipv4_redirect expect that skb->data points
to the IP header.

We cannot pull the tunnel header in this path. It's just a matter of not
calling iptunnel_pull_header - we don't need any of its effects.

Fixes: bda7bb463436 ("gre: Allow multiple protocol listener for gre protocol.")
Signed-off-by: Jiri Benc <jbenc@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_gre.c