|
@@ -1244,14 +1244,12 @@ static int vq_log_access_ok(struct vhost_virtqueue *vq,
|
|
/* Caller should have vq mutex and device mutex */
|
|
/* Caller should have vq mutex and device mutex */
|
|
int vhost_vq_access_ok(struct vhost_virtqueue *vq)
|
|
int vhost_vq_access_ok(struct vhost_virtqueue *vq)
|
|
{
|
|
{
|
|
- if (vq->iotlb) {
|
|
|
|
- /* When device IOTLB was used, the access validation
|
|
|
|
- * will be validated during prefetching.
|
|
|
|
- */
|
|
|
|
- return 1;
|
|
|
|
- }
|
|
|
|
- return vq_access_ok(vq, vq->num, vq->desc, vq->avail, vq->used) &&
|
|
|
|
- vq_log_access_ok(vq, vq->log_base);
|
|
|
|
|
|
+ int ret = vq_log_access_ok(vq, vq->log_base);
|
|
|
|
+
|
|
|
|
+ if (ret || vq->iotlb)
|
|
|
|
+ return ret;
|
|
|
|
+
|
|
|
|
+ return vq_access_ok(vq, vq->num, vq->desc, vq->avail, vq->used);
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(vhost_vq_access_ok);
|
|
EXPORT_SYMBOL_GPL(vhost_vq_access_ok);
|
|
|
|
|