mbox series

[net,v3,0/6] vsock: Transport reassignment and error handling issues

Message ID 20250128-vsock-transport-vs-autobind-v3-0-1cf57065b770@rbox.co (mailing list archive)
Headers show
Series vsock: Transport reassignment and error handling issues | expand

Message

Michal Luczaj Jan. 28, 2025, 1:15 p.m. UTC
Series deals with two issues:
- socket reference count imbalance due to an unforgiving transport release
  (triggered by transport reassignment);
- unintentional API feature, a failing connect() making the socket
  impossible to use for any subsequent connect() attempts.

Luigi, I took the opportunity to comment vsock_bind() (patch 3/6), and I've
kept your Reviewed-by. Is this okay?

Signed-off-by: Michal Luczaj <mhal@rbox.co>
---
Changes in v3:
- Rebase
- Comment vsock_bind() (Luigi)
- Collect Reviewed-by (Stefano, Luigi)
- Link to v2: https://lore.kernel.org/r/20250121-vsock-transport-vs-autobind-v2-0-aad6069a4e8c@rbox.co

Changes in v2:
- Introduce vsock_connect_fd(), simplify the tests, stick to SOCK_STREAM,
  collect Reviewed-by (Stefano)
- Link to v1: https://lore.kernel.org/r/20250117-vsock-transport-vs-autobind-v1-0-c802c803762d@rbox.co

---
Michal Luczaj (6):
      vsock: Keep the binding until socket destruction
      vsock: Allow retrying on connect() failure
      vsock/test: Introduce vsock_bind()
      vsock/test: Introduce vsock_connect_fd()
      vsock/test: Add test for UAF due to socket unbinding
      vsock/test: Add test for connect() retries

 net/vmw_vsock/af_vsock.c         |  13 ++++-
 tools/testing/vsock/util.c       |  88 +++++++++++-----------------
 tools/testing/vsock/util.h       |   2 +
 tools/testing/vsock/vsock_test.c | 122 ++++++++++++++++++++++++++++++++++-----
 4 files changed, 153 insertions(+), 72 deletions(-)
---
base-commit: 9e6c4e6b605c1fa3e24f74ee0b641e95f090188a
change-id: 20250116-vsock-transport-vs-autobind-2da49f1d5a0a

Best regards,

Comments

Luigi Leonardi Jan. 28, 2025, 1:25 p.m. UTC | #1
On Tue, Jan 28, 2025 at 02:15:26PM +0100, Michal Luczaj wrote:
>Series deals with two issues:
>- socket reference count imbalance due to an unforgiving transport release
>  (triggered by transport reassignment);
>- unintentional API feature, a failing connect() making the socket
>  impossible to use for any subsequent connect() attempts.
>
>Luigi, I took the opportunity to comment vsock_bind() (patch 3/6), and I've
>kept your Reviewed-by. Is this okay?
Hi Michal,

Yes, absolutely! Thanks for adding the comment :)

Cheers,
Luigi

>
>Signed-off-by: Michal Luczaj <mhal@rbox.co>
>---
>Changes in v3:
>- Rebase
>- Comment vsock_bind() (Luigi)
>- Collect Reviewed-by (Stefano, Luigi)
>- Link to v2: https://lore.kernel.org/r/20250121-vsock-transport-vs-autobind-v2-0-aad6069a4e8c@rbox.co
>
>Changes in v2:
>- Introduce vsock_connect_fd(), simplify the tests, stick to SOCK_STREAM,
>  collect Reviewed-by (Stefano)
>- Link to v1: https://lore.kernel.org/r/20250117-vsock-transport-vs-autobind-v1-0-c802c803762d@rbox.co
>
>---
>Michal Luczaj (6):
>      vsock: Keep the binding until socket destruction
>      vsock: Allow retrying on connect() failure
>      vsock/test: Introduce vsock_bind()
>      vsock/test: Introduce vsock_connect_fd()
>      vsock/test: Add test for UAF due to socket unbinding
>      vsock/test: Add test for connect() retries
>
> net/vmw_vsock/af_vsock.c         |  13 ++++-
> tools/testing/vsock/util.c       |  88 +++++++++++-----------------
> tools/testing/vsock/util.h       |   2 +
> tools/testing/vsock/vsock_test.c | 122 ++++++++++++++++++++++++++++++++++-----
> 4 files changed, 153 insertions(+), 72 deletions(-)
>---
>base-commit: 9e6c4e6b605c1fa3e24f74ee0b641e95f090188a
>change-id: 20250116-vsock-transport-vs-autobind-2da49f1d5a0a
>
>Best regards,
>-- 
>Michal Luczaj <mhal@rbox.co>
>
patchwork-bot+netdevbpf@kernel.org Jan. 30, 2025, 3:10 a.m. UTC | #2
Hello:

This series was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 28 Jan 2025 14:15:26 +0100 you wrote:
> Series deals with two issues:
> - socket reference count imbalance due to an unforgiving transport release
>   (triggered by transport reassignment);
> - unintentional API feature, a failing connect() making the socket
>   impossible to use for any subsequent connect() attempts.
> 
> Luigi, I took the opportunity to comment vsock_bind() (patch 3/6), and I've
> kept your Reviewed-by. Is this okay?
> 
> [...]

Here is the summary with links:
  - [net,v3,1/6] vsock: Keep the binding until socket destruction
    https://git.kernel.org/netdev/net/c/fcdd2242c023
  - [net,v3,2/6] vsock: Allow retrying on connect() failure
    https://git.kernel.org/netdev/net/c/aa388c72113b
  - [net,v3,3/6] vsock/test: Introduce vsock_bind()
    https://git.kernel.org/netdev/net/c/852a00c4281d
  - [net,v3,4/6] vsock/test: Introduce vsock_connect_fd()
    https://git.kernel.org/netdev/net/c/ac12b7e2912d
  - [net,v3,5/6] vsock/test: Add test for UAF due to socket unbinding
    https://git.kernel.org/netdev/net/c/301a62dfb0d0
  - [net,v3,6/6] vsock/test: Add test for connect() retries
    https://git.kernel.org/netdev/net/c/4695f64e028d

You are awesome, thank you!