[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1] vsock: don't send messages when vsock device is not start
From: |
Stefano Garzarella |
Subject: |
Re: [PATCH v1] vsock: don't send messages when vsock device is not started |
Date: |
Thu, 14 Oct 2021 12:56:09 +0200 |
User-agent: |
Evolution 3.40.4 (3.40.4-2.fc34) |
Please CC maintainers (MST in this case)
On Fri, 2021-10-01 at 18:42 +0000, Jiang Wang wrote:
> Added a check in vhost_vsock_common_send_transport_reset,
> and only send messages on event queue when the vsock host
> device is started.
>
> Suggested-by: Stefano Garzarella <sgarzare@redhat.com>
> Signed-off-by: Jiang Wang <jiang.wang@bytedance.com>
> ---
> hw/virtio/vhost-vsock-common.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/hw/virtio/vhost-vsock-common.c b/hw/virtio/vhost-vsock-
> common.c
> index 4ad6e234ad..64425719a2 100644
> --- a/hw/virtio/vhost-vsock-common.c
> +++ b/hw/virtio/vhost-vsock-common.c
> @@ -138,8 +138,10 @@ static void
> vhost_vsock_common_send_transport_reset(VHostVSockCommon *vvc)
> goto out;
> }
>
> - virtqueue_push(vq, elem, sizeof(event));
> - virtio_notify(VIRTIO_DEVICE(vvc), vq);
> + if (vvc->vhost_dev.started) {
> + virtqueue_push(vq, elem, sizeof(event));
> + virtio_notify(VIRTIO_DEVICE(vvc), vq);
> + }
>
> out:
> g_free(elem);
I agree that we should avoid to enqueue reset messages if the device is
not started, but this change is wrong, because we are still doing
`virtqueue_pop()`.
I think we should skip vhost_vsock_common_send_transport_reset()
entirely.
Thanks,
Stefano