From 334cac5329202514e8f72b925f90044264873b8f Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 24 Dec 2003 03:14:14 -0800 Subject: [PATCH] [AF_PACKET]: Drop SKB route of packets queued to userspace. --- net/packet/af_packet.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index f048d6dc6a269..146159e0c33a5 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -246,6 +246,10 @@ static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev, struct if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) goto oom; + /* drop any routing info */ + dst_release(skb->dst); + skb->dst = NULL; + spkt = (struct sockaddr_pkt*)skb->cb; skb_push(skb, skb->data-skb->mac.raw); @@ -486,6 +490,9 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev, struct packe skb_set_owner_r(skb, sk); skb->dev = NULL; + dst_release(skb->dst); + skb->dst = NULL; + spin_lock(&sk->sk_receive_queue.lock); po->stats.tp_packets++; __skb_queue_tail(&sk->sk_receive_queue, skb); -- 2.53.0