diff options
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/sock.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/core/sock.c b/net/core/sock.c index 7a081b647bf9..b28764558a7d 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
@@ -289,7 +289,11 @@ int sock_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) | |||
289 | 289 | ||
290 | skb->dev = NULL; | 290 | skb->dev = NULL; |
291 | skb_set_owner_r(skb, sk); | 291 | skb_set_owner_r(skb, sk); |
292 | 292 | /* | |
293 | * release dst right now while its hot | ||
294 | */ | ||
295 | dst_release(skb->dst); | ||
296 | skb->dst = NULL; | ||
293 | /* Cache the SKB length before we tack it onto the receive | 297 | /* Cache the SKB length before we tack it onto the receive |
294 | * queue. Once it is added it no longer belongs to us and | 298 | * queue. Once it is added it no longer belongs to us and |
295 | * may be freed by other threads of control pulling packets | 299 | * may be freed by other threads of control pulling packets |