diff options
Diffstat (limited to 'include/net/inet_sock.h')
| -rw-r--r-- | include/net/inet_sock.h | 10 | 
1 files changed, 3 insertions, 7 deletions
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h index e3fd34c83ac..83b567fe194 100644 --- a/include/net/inet_sock.h +++ b/include/net/inet_sock.h @@ -253,13 +253,9 @@ static inline void inet_sk_rx_dst_set(struct sock *sk, const struct sk_buff *skb  {  	struct dst_entry *dst = skb_dst(skb); -	if (atomic_inc_not_zero(&dst->__refcnt)) { -		if (!(dst->flags & DST_RCU_FREE)) -			dst->flags |= DST_RCU_FREE; - -		sk->sk_rx_dst = dst; -		inet_sk(sk)->rx_dst_ifindex = skb->skb_iif; -	} +	dst_hold(dst); +	sk->sk_rx_dst = dst; +	inet_sk(sk)->rx_dst_ifindex = skb->skb_iif;  }  #endif	/* _INET_SOCK_H */  |