Greg Kurz ab5122510b vhost: Don't call log_access_ok() when using IOTLB
When the IOTLB device is enabled, the log_guest_addr that is passed by
userspace to the VHOST_SET_VRING_ADDR ioctl, and which is then written
to vq->log_addr, is a GIOVA. All writes to this address are translated
by log_user() to writes to an HVA, and then ultimately logged through
the corresponding GPAs in log_write_hva(). No logging will ever occur
with vq->log_addr in this case. It is thus wrong to pass vq->log_addr
and log_guest_addr to log_access_vq() which assumes they are actual
GPAs.

Introduce a new vq_log_used_access_ok() helper that only checks accesses
to the log for the used structure when there isn't an IOTLB device around.

Signed-off-by: Greg Kurz <groug@kaod.org>
Link: https://lore.kernel.org/r/160171933385.284610.10189082586063280867.stgit@bahia.lan
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-10-04 03:45:20 -04:00
..
2020-09-04 13:19:19 -07:00
2020-09-13 09:02:59 -07:00
2020-08-02 18:26:51 +03:00
2020-09-18 11:48:25 -07:00
2020-09-04 12:12:39 -07:00
2020-09-20 15:18:11 -07:00
2020-09-18 08:52:06 +10:00
2020-09-15 16:20:43 -07:00
2020-08-29 12:37:00 -07:00
2020-08-05 19:24:27 -07:00
2020-09-03 08:22:16 -07:00
2020-08-28 10:15:33 -07:00
2020-09-13 08:52:21 -07:00
2020-09-04 12:41:55 +02:00
2020-08-14 16:00:09 -07:00
2020-09-11 11:25:55 -07:00
2020-09-15 16:30:20 -07:00
2020-09-11 11:35:55 -07:00
2020-09-08 11:42:58 -07:00
2020-09-15 13:52:14 +02:00
2020-09-20 10:46:26 -07:00
2020-09-06 09:59:27 -07:00