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