net: use helpers to change sk_ack_backlog
Writers are holding a lock, but many readers do not. Following patch will add appropriate barriers in sk_acceptq_removed() and sk_acceptq_added(). Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
25c7a6d1f9
commit
7976a11b30
@@ -1091,7 +1091,7 @@ static int dn_accept(struct socket *sock, struct socket *newsock, int flags,
|
||||
}
|
||||
|
||||
cb = DN_SKB_CB(skb);
|
||||
sk->sk_ack_backlog--;
|
||||
sk_acceptq_removed(sk);
|
||||
newsk = dn_alloc_sock(sock_net(sk), newsock, sk->sk_allocation, kern);
|
||||
if (newsk == NULL) {
|
||||
release_sock(sk);
|
||||
|
@@ -328,7 +328,7 @@ static void dn_nsp_conn_init(struct sock *sk, struct sk_buff *skb)
|
||||
return;
|
||||
}
|
||||
|
||||
sk->sk_ack_backlog++;
|
||||
sk_acceptq_added(sk);
|
||||
skb_queue_tail(&sk->sk_receive_queue, skb);
|
||||
sk->sk_state_change(sk);
|
||||
}
|
||||
|
Reference in New Issue
Block a user