diff options
author | David S. Miller <davem@davemloft.net> | 2018-01-24 23:44:15 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-24 23:44:15 -0500 |
commit | 955bd1d216c6ce4f40b181cfd369f4116e0627f2 (patch) | |
tree | d3f2669d3abb1c53c2f364732e8122ce0f25e3da /drivers/vhost | |
parent | be1b6e8b5470e8311bfa1a3dfd7bd59e85a99759 (diff) | |
parent | 5b7d27967dabfb17c21b0d98b29153b9e3ee71e5 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/vhost')
-rw-r--r-- | drivers/vhost/vhost.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 33ac2b186b85..5727b186b3ca 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -904,7 +904,7 @@ static void vhost_dev_lock_vqs(struct vhost_dev *d) { int i = 0; for (i = 0; i < d->nvqs; ++i) - mutex_lock(&d->vqs[i]->mutex); + mutex_lock_nested(&d->vqs[i]->mutex, i); } static void vhost_dev_unlock_vqs(struct vhost_dev *d) @@ -1015,6 +1015,10 @@ static int vhost_process_iotlb_msg(struct vhost_dev *dev, vhost_iotlb_notify_vq(dev, msg); break; case VHOST_IOTLB_INVALIDATE: + if (!dev->iotlb) { + ret = -EFAULT; + break; + } vhost_vq_meta_reset(dev); vhost_del_umem_range(dev->iotlb, msg->iova, msg->iova + msg->size - 1); |