linux/drivers/vhost
Stefano Garzarella e3462410c3 vhost: fix range used in translate_desc()
[ Upstream commit 98047313cd ]

vhost_iotlb_itree_first() requires `start` and `last` parameters
to search for a mapping that overlaps the range.

In translate_desc() we cyclically call vhost_iotlb_itree_first(),
incrementing `addr` by the amount already translated, so rightly
we move the `start` parameter passed to vhost_iotlb_itree_first(),
but we should hold the `last` parameter constant.

Let's fix it by saving the `last` parameter value before incrementing
`addr` in the loop.

Fixes: a9709d6874 ("vhost: convert pre sorted vhost memory array to interval tree")
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20221109102503.18816-3-sgarzare@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-01-12 11:59:11 +01:00
..
iotlb.c vhost: handle error while adding split ranges to iotlb 2022-04-08 14:24:12 +02:00
Kconfig vhost_vdpa: implement IRQ offloading in vhost_vdpa 2020-08-05 11:08:42 -04:00
Makefile vhost: introduce vDPA-based backend 2020-04-02 10:41:40 -04:00
net.c Fix double fget() in vhost_net_set_backend() 2022-05-25 09:57:27 +02:00
scsi.c vhost scsi: Convert to SPDX identifier 2021-09-05 16:23:08 -04:00
test.c tools/virtio: Add --reset 2020-06-22 12:34:21 -04:00
test.h tools/virtio: Add --reset 2020-06-22 12:34:21 -04:00
vdpa.c vhost_vdpa: don't setup irq offloading when irq_num < 0 2022-05-25 09:57:25 +02:00
vhost.c vhost: fix range used in translate_desc() 2023-01-12 11:59:11 +01:00
vhost.h vhost: fix up vhost_work coding style 2021-07-03 04:50:55 -04:00
vringh.c vringh: fix range used in iotlb_translate() 2023-01-12 11:59:11 +01:00
vsock.c vhost/vsock: Fix error handling in vhost_vsock_init() 2023-01-12 11:59:11 +01:00