[PATCH net 0/4] vsock: fix server prevents clients from reconnecting

From: f . storniolo95
Date: Fri Nov 03 2023 - 13:56:00 EST


From: Filippo Storniolo <f.storniolo95@xxxxxxxxx>

This patch series introduce fix and tests for the following vsock bug:
If the same remote peer, using the same port, tries to connect
to a server on a listening port more than once, the server will
reject the connection, causing a "connection reset by peer"
error on the remote peer. This is due to the presence of a
dangling socket from a previous connection in both the connected
and bound socket lists.
The inconsistency of the above lists only occurs when the remote
peer disconnects and the server remains active.
This bug does not occur when the server socket is closed.

More details on the first patch changelog.
The remaining patches are refactoring and test.

Filippo Storniolo (4):
vsock/virtio: remove socket from connected/bound list on shutdown
test/vsock fix: add missing check on socket creation
test/vsock: refactor vsock_accept
test/vsock: add dobule bind connect test

net/vmw_vsock/virtio_transport_common.c | 16 +++--
tools/testing/vsock/util.c | 87 +++++++++++++++++++++----
tools/testing/vsock/util.h | 3 +
tools/testing/vsock/vsock_test.c | 50 ++++++++++++++
4 files changed, 139 insertions(+), 17 deletions(-)

--
2.41.0