Re: [PATCH] vhost_vdpa: fix unmap process in no-batch mode

From: Jason Wang
Date: Mon Apr 10 2023 - 23:11:06 EST


On Mon, Apr 10, 2023 at 11:01 PM Cindy Lu <lulu@xxxxxxxxxx> wrote:
>
> While using the no-batch mode, the process will not begin with
> VHOST_IOTLB_BATCH_BEGIN, so we need to add the
> VHOST_IOTLB_INVALIDATE to get vhost_vdpa_as, the process is the
> same as VHOST_IOTLB_UPDATE
>
> Signed-off-by: Cindy Lu <lulu@xxxxxxxxxx>
> ---
> drivers/vhost/vdpa.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index 7be9d9d8f01c..32636a02a0ab 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -1074,6 +1074,7 @@ static int vhost_vdpa_process_iotlb_msg(struct vhost_dev *dev, u32 asid,
> goto unlock;
>
> if (msg->type == VHOST_IOTLB_UPDATE ||
> + msg->type == VHOST_IOTLB_INVALIDATE ||

I'm not sure I get here, invalidation doesn't need to create a new AS.

Or maybe you can post the userspace code that can trigger this issue?

Thanks

> msg->type == VHOST_IOTLB_BATCH_BEGIN) {
> as = vhost_vdpa_find_alloc_as(v, asid);
> if (!as) {
> --
> 2.34.3
>