]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
vsock: fold sk_acceptq_added() into vsock_enqueue_accept()
authorRaf Dickson <rafdog35@gmail.com>
Fri, 12 Jun 2026 04:52:15 +0000 (04:52 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sat, 13 Jun 2026 17:38:28 +0000 (10:38 -0700)
virtio and hyperv call sk_acceptq_added() immediately before
vsock_enqueue_accept(). Move the call into vsock_enqueue_accept()
itself so callers cannot forget it and the accounting is consistent.

Suggested-by: Paolo Abeni <pabeni@redhat.com>
Suggested-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Raf Dickson <rafdog35@gmail.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Luigi Leonardi <leonardi@redhat.com>
Reviewed-by: Bobby Eshleman <bobbyeshleman@meta.com>
Link: https://patch.msgid.link/20260612045216.105796-4-rafdog35@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/vmw_vsock/af_vsock.c
net/vmw_vsock/hyperv_transport.c
net/vmw_vsock/virtio_transport_common.c

index cbb71aca6cf11711f9aa927da0158bf558e7676d..2e39656a798bc9073998330717986a5b698c75b4 100644 (file)
@@ -519,6 +519,7 @@ void vsock_enqueue_accept(struct sock *listener, struct sock *connected)
        sock_hold(connected);
        sock_hold(listener);
        list_add_tail(&vconnected->accept_queue, &vlistener->accept_queue);
+       sk_acceptq_added(listener);
 }
 EXPORT_SYMBOL_GPL(vsock_enqueue_accept);
 
index e6adbc47011da8fac0f892e464ba02c1724337f4..5405c2680decd85f14d342b588c6864447f1b673 100644 (file)
@@ -410,7 +410,6 @@ static void hvs_open_connection(struct vmbus_channel *chan)
 
        if (conn_from_host) {
                new->sk_state = TCP_ESTABLISHED;
-               sk_acceptq_added(sk);
 
                hvs_new->vm_srv_id = *if_type;
                hvs_new->host_srv_id = *if_instance;
index 3b294164b741b2001f6b8edec278f16eb272006d..09475007165b36422ff5282e0af646a535369fad 100644 (file)
@@ -1582,7 +1582,6 @@ virtio_transport_recv_listen(struct sock *sk, struct sk_buff *skb,
                return ret;
        }
 
-       sk_acceptq_added(sk);
        if (virtio_transport_space_update(child, skb))
                child->sk_write_space(child);