Michael S. Tsirkin
2021-Apr-09 16:15 UTC
[PATCH v6 03/10] vhost-vdpa: protect concurrent access to vhost device iotlb
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: stable at vger.kernel.org > Signed-off-by: Xie Yongji <xieyongji at bytedance.com> > Acked-by: Jason Wang <jasowang at redhat.com> > Reviewed-by: Stefano Garzarella <sgarzare at 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