diff options
author | Eric Dumazet <edumazet@google.com> | 2013-05-24 05:49:58 +0000 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-06-29 04:06:38 +0100 |
commit | 94e7239c1bacb37ccddc3b32f3050780cab9d3d7 (patch) | |
tree | 2a0fc8bec2b8d4b0eece8412b63719b9d8eafb04 /include | |
parent | be25f0fd74914963cd2b0ee8e4eefb1f596f0b05 (diff) |
ip_tunnel: fix kernel panic with icmp_dest_unreach
[ Upstream commit a622260254ee481747cceaaa8609985b29a31565 ]
Daniel Petre reported crashes in icmp_dst_unreach() with following call
graph:
Daniel found a similar problem mentioned in
http://lkml.indiana.edu/hypermail/linux/kernel/1007.0/00961.html
And indeed this is the root cause : skb->cb[] contains data fooling IP
stack.
We must clear IPCB in ip_tunnel_xmit() sooner in case dst_link_failure()
is called. Or else skb->cb[] might contain garbage from GSO segmentation
layer.
A similar fix was tested on linux-3.9, but gre code was refactored in
linux-3.10. I'll send patches for stable kernels as well.
Many thanks to Daniel for providing reports, patches and testing !
Reported-by: Daniel Petre <daniel.petre@rcs-rds.ro>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions