[PATCH v2 0/3] vdpa: Check iova range on memory regions ops

Eugenio Pérez posted 3 patches 2 years, 6 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211005134843.439050-1-eperezma@redhat.com
There is a newer version of this series
include/hw/virtio/vhost-vdpa.h |  2 +
hw/virtio/vhost-vdpa.c         | 87 ++++++++++++++++++++++++++--------
hw/virtio/trace-events         |  1 +
3 files changed, 69 insertions(+), 21 deletions(-)
[PATCH v2 0/3] vdpa: Check iova range on memory regions ops
Posted by Eugenio Pérez 2 years, 6 months ago
At this moment vdpa will not send memory regions bigger than 1<<63.
However, actual iova range could be way more restrictive than that.

Since we can obtain the range through vdpa ioctl call, just save it
from the beginning of the operation and check against it.

Changes from v1:
* Use of int128_gt instead of plain uint64_t < comparison on memory
  range end.
* Document vhost_vdpa_section_end's return value so it's clear that
  it returns "one past end".

Eugenio Pérez (3):
  vdpa: Skip protected ram IOMMU mappings
  vdpa: Add vhost_vdpa_section_end
  vdpa: Check for iova range at mappings changes

 include/hw/virtio/vhost-vdpa.h |  2 +
 hw/virtio/vhost-vdpa.c         | 87 ++++++++++++++++++++++++++--------
 hw/virtio/trace-events         |  1 +
 3 files changed, 69 insertions(+), 21 deletions(-)

-- 
2.27.0