On Wed, Mar 31, 2021 at 04:05:12PM +0800, Xie Yongji wrote:
> Use vhost_dev->mutex to protect vhost device iotlb from
> concurrent access.
> 
> Fixes: 4c8cf318("vhost: introduce vDPA-based backend")
> Cc: sta...@vger.kernel.org
> Signed-off-by: Xie Yongji <xieyon...@bytedance.com>
> Acked-by: Jason Wang <jasow...@redhat.com>
> Reviewed-by: Stefano Garzarella <sgarz...@redhat.com>

I could not figure out whether there's a bug there now.
If yes when is the concurrent access triggered?

> ---
>  drivers/vhost/vdpa.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index 3947fbc2d1d5..63b28d3aee7c 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -725,9 +725,11 @@ static int vhost_vdpa_process_iotlb_msg(struct vhost_dev 
> *dev,
>       const struct vdpa_config_ops *ops = vdpa->config;
>       int r = 0;
>  
> +     mutex_lock(&dev->mutex);
> +
>       r = vhost_dev_check_owner(dev);
>       if (r)
> -             return r;
> +             goto unlock;
>  
>       switch (msg->type) {
>       case VHOST_IOTLB_UPDATE:
> @@ -748,6 +750,8 @@ static int vhost_vdpa_process_iotlb_msg(struct vhost_dev 
> *dev,
>               r = -EINVAL;
>               break;
>       }
> +unlock:
> +     mutex_unlock(&dev->mutex);
>  
>       return r;
>  }
> -- 
> 2.11.0

Reply via email to