diff options
author | Eric Dumazet <edumazet@google.com> | 2019-11-05 23:11:52 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-11-07 01:14:48 +0100 |
commit | 7976a11b30929871a4c84c3c406d7681a3dbcc10 (patch) | |
tree | bdbef4ca196215ba83037b47bbcc5820e614e3e9 /net/vmw_vsock/af_vsock.c | |
parent | net: avoid potential false sharing in neighbor related code (diff) | |
download | linux-7976a11b30929871a4c84c3c406d7681a3dbcc10.tar.xz linux-7976a11b30929871a4c84c3c406d7681a3dbcc10.zip |
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>
Diffstat (limited to 'net/vmw_vsock/af_vsock.c')
-rw-r--r-- | net/vmw_vsock/af_vsock.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c index c0856e74f44f..1f4fde4711b6 100644 --- a/net/vmw_vsock/af_vsock.c +++ b/net/vmw_vsock/af_vsock.c @@ -439,7 +439,7 @@ static void vsock_pending_work(struct work_struct *work) if (vsock_is_pending(sk)) { vsock_remove_pending(listener, sk); - listener->sk_ack_backlog--; + sk_acceptq_removed(listener); } else if (!vsk->rejected) { /* We are not on the pending list and accept() did not reject * us, so we must have been accepted by our user process. We @@ -1299,7 +1299,7 @@ static int vsock_accept(struct socket *sock, struct socket *newsock, int flags, err = -listener->sk_err; if (connected) { - listener->sk_ack_backlog--; + sk_acceptq_removed(listener); lock_sock_nested(connected, SINGLE_DEPTH_NESTING); vconnected = vsock_sk(connected); |