This commit introduced a new function
vhost_net_set_backend_features() which is a wrap of
vhost_set_backend_features() with necessary mutex lockings.

Signed-off-by: Zhu Lingshan <[email protected]>
---
 drivers/vhost/net.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 531a00d703cd..e01da77538c8 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -1679,6 +1679,13 @@ static long vhost_net_set_owner(struct vhost_net *n)
        return r;
 }
 
+static void vhost_net_set_backend_features(struct vhost_dev *dev, u64 features)
+{
+       mutex_lock(&dev->mutex);
+       vhost_set_backend_features(dev, features);
+       mutex_unlock(&dev->mutex);
+}
+
 static long vhost_net_ioctl(struct file *f, unsigned int ioctl,
                            unsigned long arg)
 {
@@ -1715,7 +1722,7 @@ static long vhost_net_ioctl(struct file *f, unsigned int 
ioctl,
                        return -EFAULT;
                if (features & ~VHOST_NET_BACKEND_FEATURES)
                        return -EOPNOTSUPP;
-               vhost_set_backend_features(&n->dev, features);
+               vhost_net_set_backend_features(&n->dev, features);
                return 0;
        case VHOST_RESET_OWNER:
                return vhost_net_reset_owner(n);
-- 
2.18.4

Reply via email to