diff options
author | Xin Long <lucien.xin@gmail.com> | 2014-03-03 20:18:36 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-03 15:56:40 -0500 |
commit | 10ddceb22bab11dab10ba645c7df2e4a8e7a5db5 (patch) | |
tree | 44376ec17d4145e7eab45debff4ccbebb8b1760e /net/ipv4/ip_tunnel_core.c | |
parent | 3995d265b3640fb7dc843a3c5f62ced4f121fb89 (diff) | |
download | op-kernel-dev-10ddceb22bab11dab10ba645c7df2e4a8e7a5db5.zip op-kernel-dev-10ddceb22bab11dab10ba645c7df2e4a8e7a5db5.tar.gz |
ip_tunnel:multicast process cause panic due to skb->_skb_refdst NULL pointer
when ip_tunnel process multicast packets, it may check if the packet is looped
back packet though 'rt_is_output_route(skb_rtable(skb))' in ip_tunnel_rcv(),
but before that , skb->_skb_refdst has been dropped in iptunnel_pull_header(),
so which leads to a panic.
fix the bug: https://bugzilla.kernel.org/show_bug.cgi?id=70681
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_tunnel_core.c')
-rw-r--r-- | net/ipv4/ip_tunnel_core.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/ipv4/ip_tunnel_core.c b/net/ipv4/ip_tunnel_core.c index 8d69626..6f847dd 100644 --- a/net/ipv4/ip_tunnel_core.c +++ b/net/ipv4/ip_tunnel_core.c @@ -108,7 +108,6 @@ int iptunnel_pull_header(struct sk_buff *skb, int hdr_len, __be16 inner_proto) nf_reset(skb); secpath_reset(skb); skb_clear_hash_if_not_l4(skb); - skb_dst_drop(skb); skb->vlan_tci = 0; skb_set_queue_mapping(skb, 0); skb->pkt_type = PACKET_HOST; |