From: David S. Miller Date: Thu, 18 Dec 2008 06:11:38 +0000 (-0800) Subject: Revert "net: release skb->dst in sock_queue_rcv_skb()" X-Git-Url: http://git.mmlx.us/?a=commitdiff_plain;h=49ad9599d42da4787d5b3a19263440e0fcd4d1fc;p=linux-edison.git Revert "net: release skb->dst in sock_queue_rcv_skb()" This reverts commit 70355602879229c6f8bd694ec9c0814222bc4936. As pointed out by Mark McLoughlin IP_PKTINFO cmsg data is one post-queueing user, so this optimization is not valid right now. Signed-off-by: David S. Miller --- diff --git a/net/core/sock.c b/net/core/sock.c index ac4f0e79226..f3a0d08cbb4 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -289,11 +289,7 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) skb->dev = NULL; skb_set_owner_r(skb, sk); - /* - * release dst right now while its hot - */ - dst_release(skb->dst); - skb->dst = NULL; + /* Cache the SKB length before we tack it onto the receive * queue. Once it is added it no longer belongs to us and * may be freed by other threads of control pulling packets