Replace the open-coded backlog check with sk_acceptq_is_full().
The helper uses > instead of >=, which is the correct comparison
per commit 64a146513f8f ("[NET]: Revert incorrect accept queue
backlog changes."), and adds READ_ONCE() for proper memory ordering.

Suggested-by: Stefano Garzarella <[email protected]>

Signed-off-by: Raf Dickson <[email protected]>
---
 net/vmw_vsock/vmci_transport.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/vmw_vsock/vmci_transport.c b/net/vmw_vsock/vmci_transport.c
index 91516488a7..56503bee31 100644
--- a/net/vmw_vsock/vmci_transport.c
+++ b/net/vmw_vsock/vmci_transport.c
@@ -1010,7 +1010,7 @@ static int vmci_transport_recv_listen(struct sock *sk,
         * reset.  Otherwise we create and initialize a child socket and reply
         * with a connection negotiation.
         */
-       if (sk->sk_ack_backlog >= sk->sk_max_ack_backlog) {
+       if (sk_acceptq_is_full(sk)) {
                vmci_transport_reply_reset(pkt);
                return -ECONNREFUSED;
        }
-- 
2.54.0


Reply via email to