Stefano Garzarella
2022-Mar-18 09:54 UTC
[PATCH] vhost: handle error while adding split ranges to iotlb
On Sat, Mar 12, 2022 at 07:41:21PM +0530, Anirudh Rayabharam wrote:>vhost_iotlb_add_range_ctx() handles the range [0, ULONG_MAX] by >splitting it into two ranges and adding them separately. The return >value of adding the first range to the iotlb is currently ignored. >Check the return value and bail out in case of an error. >We could add: Fixes: e2ae38cf3d91 ("vhost: fix hung thread due to erroneous iotlb entries")>Signed-off-by: Anirudh Rayabharam <mail at anirudhrb.com> >--- > drivers/vhost/iotlb.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > >diff --git a/drivers/vhost/iotlb.c b/drivers/vhost/iotlb.c >index 40b098320b2a..5829cf2d0552 100644 >--- a/drivers/vhost/iotlb.c >+++ b/drivers/vhost/iotlb.c >@@ -62,8 +62,12 @@ int vhost_iotlb_add_range_ctx(struct vhost_iotlb *iotlb, > */ > if (start == 0 && last == ULONG_MAX) { > u64 mid = last / 2; >+ int err = vhost_iotlb_add_range_ctx(iotlb, start, mid, addr, >+ perm, opaque); >+ >+ if (err) >+ return err; > >- vhost_iotlb_add_range_ctx(iotlb, start, mid, addr, perm, opaque); > addr += mid + 1; > start = mid + 1; > } >-- >2.35.1 >Reviewed-by: Stefano Garzarella <sgarzare at redhat.com>