|
@@ -1530,7 +1530,6 @@ struct sock *sk_clone_lock(const struct sock *sk, const gfp_t priority)
|
|
skb_queue_head_init(&newsk->sk_receive_queue);
|
|
skb_queue_head_init(&newsk->sk_receive_queue);
|
|
skb_queue_head_init(&newsk->sk_write_queue);
|
|
skb_queue_head_init(&newsk->sk_write_queue);
|
|
|
|
|
|
- spin_lock_init(&newsk->sk_dst_lock);
|
|
|
|
rwlock_init(&newsk->sk_callback_lock);
|
|
rwlock_init(&newsk->sk_callback_lock);
|
|
lockdep_set_class_and_name(&newsk->sk_callback_lock,
|
|
lockdep_set_class_and_name(&newsk->sk_callback_lock,
|
|
af_callback_keys + newsk->sk_family,
|
|
af_callback_keys + newsk->sk_family,
|
|
@@ -1607,7 +1606,7 @@ void sk_setup_caps(struct sock *sk, struct dst_entry *dst)
|
|
{
|
|
{
|
|
u32 max_segs = 1;
|
|
u32 max_segs = 1;
|
|
|
|
|
|
- __sk_dst_set(sk, dst);
|
|
|
|
|
|
+ sk_dst_set(sk, dst);
|
|
sk->sk_route_caps = dst->dev->features;
|
|
sk->sk_route_caps = dst->dev->features;
|
|
if (sk->sk_route_caps & NETIF_F_GSO)
|
|
if (sk->sk_route_caps & NETIF_F_GSO)
|
|
sk->sk_route_caps |= NETIF_F_GSO_SOFTWARE;
|
|
sk->sk_route_caps |= NETIF_F_GSO_SOFTWARE;
|
|
@@ -2388,7 +2387,6 @@ void sock_init_data(struct socket *sock, struct sock *sk)
|
|
} else
|
|
} else
|
|
sk->sk_wq = NULL;
|
|
sk->sk_wq = NULL;
|
|
|
|
|
|
- spin_lock_init(&sk->sk_dst_lock);
|
|
|
|
rwlock_init(&sk->sk_callback_lock);
|
|
rwlock_init(&sk->sk_callback_lock);
|
|
lockdep_set_class_and_name(&sk->sk_callback_lock,
|
|
lockdep_set_class_and_name(&sk->sk_callback_lock,
|
|
af_callback_keys + sk->sk_family,
|
|
af_callback_keys + sk->sk_family,
|