Message ID | 20231103175551.41025-1-f.storniolo95@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | vsock: fix server prevents clients from reconnecting | expand |
On Fri, Nov 03, 2023 at 06:55:47PM +0100, f.storniolo95@gmail.com wrote: >From: Filippo Storniolo <f.storniolo95@gmail.com> > >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. Thanks for the fix and the test! I only left a small comment in patch 2 which I don't think justifies a v2 by itself though. If for some other reason you have to send a v2, then maybe I would fix it. I reviewed the series and ran the tests. Everything seems to be fine. Thanks, Stefano
Hello: This series was applied to netdev/net.git (main) by David S. Miller <davem@davemloft.net>: On Fri, 3 Nov 2023 18:55:47 +0100 you wrote: > From: Filippo Storniolo <f.storniolo95@gmail.com> > > 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. > > [...] Here is the summary with links: - [net,1/4] vsock/virtio: remove socket from connected/bound list on shutdown https://git.kernel.org/netdev/net/c/3a5cc90a4d17 - [net,2/4] test/vsock fix: add missing check on socket creation https://git.kernel.org/netdev/net/c/bfada5a7672f - [net,3/4] test/vsock: refactor vsock_accept https://git.kernel.org/netdev/net/c/84d5fb974131 - [net,4/4] test/vsock: add dobule bind connect test https://git.kernel.org/netdev/net/c/d80f63f69025 You are awesome, thank you!
From: Filippo Storniolo <f.storniolo95@gmail.com> 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(-)