mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-21 21:38:04 -04:00
vsock: use sk_acceptq_is_full() helper in all transports
Replace the open-coded backlog check with sk_acceptq_is_full().
The helper uses > instead of >=, which is the correct comparison
per commit 64a146513f ("[NET]: Revert incorrect accept queue
backlog changes."), and adds READ_ONCE() for proper memory ordering.
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>
Link: https://patch.msgid.link/20260612045842.122207-1-rafdog35@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
0d4bd1c562
commit
4ff2e84ff1
@@ -323,7 +323,7 @@ static void hvs_open_connection(struct vmbus_channel *chan)
|
||||
goto out;
|
||||
|
||||
if (conn_from_host) {
|
||||
if (sk->sk_ack_backlog >= sk->sk_max_ack_backlog)
|
||||
if (sk_acceptq_is_full(sk))
|
||||
goto out;
|
||||
|
||||
new = vsock_create_connected(sk);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user