lkml.org 
[lkml]   [2022]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 859/913] vhost: handle error while adding split ranges to iotlb
    Date
    From: Anirudh Rayabharam <mail@anirudhrb.com>

    commit 03a91c9af2c42ae14afafb829a4b7e6589ab5892 upstream.

    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.

    Signed-off-by: Anirudh Rayabharam <mail@anirudhrb.com>
    Link: https://lore.kernel.org/r/20220312141121.4981-1-mail@anirudhrb.com
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Fixes: e2ae38cf3d91 ("vhost: fix hung thread due to erroneous iotlb entries")
    Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/vhost/iotlb.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    --- a/drivers/vhost/iotlb.c
    +++ b/drivers/vhost/iotlb.c
    @@ -62,8 +62,12 @@ int vhost_iotlb_add_range_ctx(struct vho
    */
    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;
    }

    \
     
     \ /
      Last update: 2022-04-06 06:42    [W:3.906 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site