diff --git a/[refs] b/[refs] index 3de0f96e621f..5b02814e2dd1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3b5b35d02264580950d1e1565431b99d97c20ded +refs/heads/master: 49ad9599d42da4787d5b3a19263440e0fcd4d1fc diff --git a/trunk/net/core/sock.c b/trunk/net/core/sock.c index ac4f0e79226b..f3a0d08cbb48 100644 --- a/trunk/net/core/sock.c +++ b/trunk/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