diff options
author | Eric Dumazet <edumazet@google.com> | 2013-05-24 05:49:58 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-06-27 10:34:32 -0700 |
commit | 34e4c0aed353934a72809784999900fc7b5653ef (patch) | |
tree | fd1f3c3470573886bd2c0dcdcf34d8b904cfa3df /fs/devpts | |
parent | 04e093d128963bfe46f50dbcff4c70147464fd0a (diff) | |
download | kernel_samsung_aries-34e4c0aed353934a72809784999900fc7b5653ef.zip kernel_samsung_aries-34e4c0aed353934a72809784999900fc7b5653ef.tar.gz kernel_samsung_aries-34e4c0aed353934a72809784999900fc7b5653ef.tar.bz2 |
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/devpts')
0 files changed, 0 insertions, 0 deletions