--- x/net/vmw_vsock/af_vsock.c +++ y/net/vmw_vsock/af_vsock.c @@ -824,13 +824,12 @@ static void __vsock_release(struct sock */ lock_sock_nested(sk, level); - sock_orphan(sk); - if (vsk->transport) vsk->transport->release(vsk); else if (sock_type_connectible(sk->sk_type)) vsock_remove_sock(vsk); + sock_orphan(sk); sk->sk_shutdown = SHUTDOWN_MASK; skb_queue_purge(&sk->sk_receive_queue);