]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
vsock: reset socket state when de-assigning the transport
authorStefano Garzarella <sgarzare@redhat.com>
Fri, 10 Jan 2025 08:35:10 +0000 (09:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Jan 2025 16:16:01 +0000 (17:16 +0100)
commita4606b774de2a14d3824dead408a50b9ca659c30
tree2c05ed11f0d2b9bb1e07fddfb12a745d45a5c6c3
parent048dbd2b5b85e7a31cfc3fc93065f7df8d832ed4
vsock: reset socket state when de-assigning the transport

commit a24009bc9be60242651a21702609381b5092459e upstream.

Transport's release() and destruct() are called when de-assigning the
vsock transport. These callbacks can touch some socket state like
sock flags, sk_state, and peer_shutdown.

Since we are reassigning the socket to a new transport during
vsock_connect(), let's reset these fields to have a clean state with
the new transport.

Fixes: c0cfa2d8a788 ("vsock: add multi-transports support")
Cc: stable@vger.kernel.org
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Luigi Leonardi <leonardi@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/vmw_vsock/af_vsock.c