[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 02/12] vhost: use SVQ element ndescs instead of opaque dat
From: |
Jason Wang |
Subject: |
Re: [PATCH v7 02/12] vhost: use SVQ element ndescs instead of opaque data for desc validation |
Date: |
Fri, 5 Aug 2022 11:48:30 +0800 |
On Fri, Aug 5, 2022 at 2:29 AM Eugenio Pérez <eperezma@redhat.com> wrote:
>
> Since we're going to allow SVQ to add elements without the guest's
> knowledge and without its own VirtQueueElement, it's easier to check if
> an element is a valid head checking a different thing than the
> VirtQueueElement.
>
> Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
> ---
Acked-by: Jason Wang <jasowang@redhat.com>
> hw/virtio/vhost-shadow-virtqueue.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/virtio/vhost-shadow-virtqueue.c
> b/hw/virtio/vhost-shadow-virtqueue.c
> index ffd2b2c972..e6eebd0e8d 100644
> --- a/hw/virtio/vhost-shadow-virtqueue.c
> +++ b/hw/virtio/vhost-shadow-virtqueue.c
> @@ -414,7 +414,7 @@ static VirtQueueElement
> *vhost_svq_get_buf(VhostShadowVirtqueue *svq,
> return NULL;
> }
>
> - if (unlikely(!svq->desc_state[used_elem.id].elem)) {
> + if (unlikely(!svq->desc_state[used_elem.id].ndescs)) {
> qemu_log_mask(LOG_GUEST_ERROR,
> "Device %s says index %u is used, but it was not available",
> svq->vdev->name, used_elem.id);
> @@ -422,6 +422,7 @@ static VirtQueueElement
> *vhost_svq_get_buf(VhostShadowVirtqueue *svq,
> }
>
> num = svq->desc_state[used_elem.id].ndescs;
> + svq->desc_state[used_elem.id].ndescs = 0;
> last_used_chain = vhost_svq_last_desc_of_chain(svq, num, used_elem.id);
> svq->desc_next[last_used_chain] = svq->free_head;
> svq->free_head = used_elem.id;
> --
> 2.31.1
>
- [PATCH v7 00/12] NIC vhost-vdpa state restore via Shadow CVQ, Eugenio Pérez, 2022/08/04
- [PATCH v7 02/12] vhost: use SVQ element ndescs instead of opaque data for desc validation, Eugenio Pérez, 2022/08/04
- Re: [PATCH v7 02/12] vhost: use SVQ element ndescs instead of opaque data for desc validation,
Jason Wang <=
- [PATCH v7 03/12] vhost: Delete useless read memory barrier, Eugenio Pérez, 2022/08/04
- [PATCH v7 04/12] vhost: Do not depend on !NULL VirtQueueElement on vhost_svq_flush, Eugenio Pérez, 2022/08/04
- [PATCH v7 05/12] vhost_net: Add NetClientInfo prepare callback, Eugenio Pérez, 2022/08/04
- [PATCH v7 07/12] vdpa: add net_vhost_vdpa_cvq_info NetClientInfo, Eugenio Pérez, 2022/08/04
- [PATCH v7 06/12] vhost_net: Add NetClientInfo stop callback, Eugenio Pérez, 2022/08/04
- [PATCH v7 01/12] vhost: stop transfer elem ownership in vhost_handle_guest_kick, Eugenio Pérez, 2022/08/04