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 <sgarz...@redhat.com>
> Signed-off-by: Jiang Wang <jiang.w...@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





Reply via email to