diff mbox series

[v5,03/11] vhost-vdpa: protect concurrent access to vhost device iotlb

Message ID 20210315053721.189-4-xieyongji@bytedance.com
State Superseded
Headers show
Series Introduce VDUSE - vDPA Device in Userspace | expand

Commit Message

Yongji Xie March 15, 2021, 5:37 a.m. UTC
Use vhost_dev->mutex to protect vhost device iotlb from
concurrent access.

Fixes: 4c8cf318("vhost: introduce vDPA-based backend")
Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
---
 drivers/vhost/vdpa.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Jason Wang March 23, 2021, 3:02 a.m. UTC | #1
在 2021/3/15 下午1:37, Xie Yongji 写道:
> Use vhost_dev->mutex to protect vhost device iotlb from

> concurrent access.

>

> Fixes: 4c8cf318("vhost: introduce vDPA-based backend")

> Signed-off-by: Xie Yongji <xieyongji@bytedance.com>



Acked-by: Jason Wang <jasowang@redhat.com>


Please cc stable for next version.

Thanks


> ---

>   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 cb14c66eb2ec..3f7175c2ac24 100644

> --- a/drivers/vhost/vdpa.c

> +++ b/drivers/vhost/vdpa.c

> @@ -719,9 +719,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:

> @@ -742,6 +744,8 @@ static int vhost_vdpa_process_iotlb_msg(struct vhost_dev *dev,

>   		r = -EINVAL;

>   		break;

>   	}

> +unlock:

> +	mutex_unlock(&dev->mutex);

>   

>   	return r;

>   }
Yongji Xie March 23, 2021, 7:25 a.m. UTC | #2
On Tue, Mar 23, 2021 at 11:02 AM Jason Wang <jasowang@redhat.com> wrote:
>

>

> 在 2021/3/15 下午1:37, Xie Yongji 写道:

> > Use vhost_dev->mutex to protect vhost device iotlb from

> > concurrent access.

> >

> > Fixes: 4c8cf318("vhost: introduce vDPA-based backend")

> > Signed-off-by: Xie Yongji <xieyongji@bytedance.com>

>

>

> Acked-by: Jason Wang <jasowang@redhat.com>

>

> Please cc stable for next version.

>


Sure.

Thanks,
Yongji
Stefano Garzarella March 25, 2021, 11:08 a.m. UTC | #3
On Mon, Mar 15, 2021 at 01:37:13PM +0800, Xie Yongji wrote:
>Use vhost_dev->mutex to protect vhost device iotlb from

>concurrent access.

>

>Fixes: 4c8cf318("vhost: introduce vDPA-based backend")

>Signed-off-by: Xie Yongji <xieyongji@bytedance.com>

>---

> drivers/vhost/vdpa.c | 6 +++++-

> 1 file changed, 5 insertions(+), 1 deletion(-)



Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
diff mbox series

Patch

diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index cb14c66eb2ec..3f7175c2ac24 100644
--- a/drivers/vhost/vdpa.c
+++ b/drivers/vhost/vdpa.c
@@ -719,9 +719,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:
@@ -742,6 +744,8 @@  static int vhost_vdpa_process_iotlb_msg(struct vhost_dev *dev,
 		r = -EINVAL;
 		break;
 	}
+unlock:
+	mutex_unlock(&dev->mutex);
 
 	return r;
 }