lkml.org 
[lkml]   [2021]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.11 06/12] xen-blkback: dont "handle" error by BUG()
    Date
    From: Jan Beulich <jbeulich@suse.com>

    commit 5a264285ed1cd32e26d9de4f3c8c6855e467fd63 upstream.

    In particular -ENOMEM may come back here, from set_foreign_p2m_mapping().
    Don't make problems worse, the more that handling elsewhere (together
    with map's status fields now indicating whether a mapping wasn't even
    attempted, and hence has to be considered failed) doesn't require this
    odd way of dealing with errors.

    This is part of XSA-362.

    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Cc: stable@vger.kernel.org
    Reviewed-by: Juergen Gross <jgross@suse.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/block/xen-blkback/blkback.c | 6 ++----
    1 file changed, 2 insertions(+), 4 deletions(-)

    --- a/drivers/block/xen-blkback/blkback.c
    +++ b/drivers/block/xen-blkback/blkback.c
    @@ -811,10 +811,8 @@ again:
    break;
    }

    - if (segs_to_map) {
    + if (segs_to_map)
    ret = gnttab_map_refs(map, NULL, pages_to_gnt, segs_to_map);
    - BUG_ON(ret);
    - }

    /*
    * Now swizzle the MFN in our domain with the MFN from the other domain
    @@ -830,7 +828,7 @@ again:
    gnttab_page_cache_put(&ring->free_pages,
    &pages[seg_idx]->page, 1);
    pages[seg_idx]->handle = BLKBACK_INVALID_HANDLE;
    - ret |= 1;
    + ret |= !ret;
    goto next;
    }
    pages[seg_idx]->handle = map[new_map_idx].handle;

    \
     
     \ /
      Last update: 2021-02-22 13:21    [W:3.776 / U:0.276 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site