Message ID | 20230927192737.528280-3-stefanha@redhat.com |
---|---|
State | New |
Headers | show |
Series | vhost: clean up device reset | expand |
> On Sep 27, 2023, at 3:27 PM, Stefan Hajnoczi <stefanha@redhat.com> wrote: > > vhost_kernel_reset_device() invokes RESET_OWNER, which disassociates the > owner process from the device. The device is left non-operational since > SET_OWNER is only called once during startup in vhost_dev_init(). > > vhost_kernel_reset_device() is never called so this latent bug never > appears. Get rid of vhost_kernel_reset_device() for now. If someone > needs it in the future they'll need to implement it correctly. > Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> > --- > hw/virtio/vhost-backend.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c > index 8e581575c9..17f3fc6a08 100644 > --- a/hw/virtio/vhost-backend.c > +++ b/hw/virtio/vhost-backend.c > @@ -197,11 +197,6 @@ static int vhost_kernel_set_owner(struct vhost_dev *dev) > return vhost_kernel_call(dev, VHOST_SET_OWNER, NULL); > } > > -static int vhost_kernel_reset_device(struct vhost_dev *dev) > -{ > - return vhost_kernel_call(dev, VHOST_RESET_OWNER, NULL); > -} > - > static int vhost_kernel_get_vq_index(struct vhost_dev *dev, int idx) > { > assert(idx >= dev->vq_index && idx < dev->vq_index + dev->nvqs); > @@ -322,7 +317,6 @@ const VhostOps kernel_ops = { > .vhost_get_features = vhost_kernel_get_features, > .vhost_set_backend_cap = vhost_kernel_set_backend_cap, > .vhost_set_owner = vhost_kernel_set_owner, > - .vhost_reset_device = vhost_kernel_reset_device, > .vhost_get_vq_index = vhost_kernel_get_vq_index, > .vhost_vsock_set_guest_cid = vhost_kernel_vsock_set_guest_cid, > .vhost_vsock_set_running = vhost_kernel_vsock_set_running, > -- > 2.41.0 >
diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c index 8e581575c9..17f3fc6a08 100644 --- a/hw/virtio/vhost-backend.c +++ b/hw/virtio/vhost-backend.c @@ -197,11 +197,6 @@ static int vhost_kernel_set_owner(struct vhost_dev *dev) return vhost_kernel_call(dev, VHOST_SET_OWNER, NULL); } -static int vhost_kernel_reset_device(struct vhost_dev *dev) -{ - return vhost_kernel_call(dev, VHOST_RESET_OWNER, NULL); -} - static int vhost_kernel_get_vq_index(struct vhost_dev *dev, int idx) { assert(idx >= dev->vq_index && idx < dev->vq_index + dev->nvqs); @@ -322,7 +317,6 @@ const VhostOps kernel_ops = { .vhost_get_features = vhost_kernel_get_features, .vhost_set_backend_cap = vhost_kernel_set_backend_cap, .vhost_set_owner = vhost_kernel_set_owner, - .vhost_reset_device = vhost_kernel_reset_device, .vhost_get_vq_index = vhost_kernel_get_vq_index, .vhost_vsock_set_guest_cid = vhost_kernel_vsock_set_guest_cid, .vhost_vsock_set_running = vhost_kernel_vsock_set_running,
vhost_kernel_reset_device() invokes RESET_OWNER, which disassociates the owner process from the device. The device is left non-operational since SET_OWNER is only called once during startup in vhost_dev_init(). vhost_kernel_reset_device() is never called so this latent bug never appears. Get rid of vhost_kernel_reset_device() for now. If someone needs it in the future they'll need to implement it correctly. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> --- hw/virtio/vhost-backend.c | 6 ------ 1 file changed, 6 deletions(-)