• Jan Beulich's avatar
    xen-blkback: fix error handling in xen_blkbk_map() · 871997bc
    Jan Beulich authored
    The function uses a goto-based loop, which may lead to an earlier error
    getting discarded by a later iteration. Exit this ad-hoc loop when an
    error was encountered.
    
    The out-of-memory error path additionally fails to fill a structure
    field looked at by xen_blkbk_unmap_prepare() before inspecting the
    handle which does get properly set (to BLKBACK_INVALID_HANDLE).
    
    Since the earlier exiting from the ad-hoc loop requires the same field
    filling (invalidation) as that on the out-of-memory path, fold both
    paths. While doing so, drop the pr_alert(), as extra log messages aren't
    going to help the situation (the kernel will log oom conditions already
    anyway).
    
    This is XSA-365.
    Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
    Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
    Reviewed-by: default avatarJulien Grall <julien@xen.org>
    Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
    871997bc
blkback.c 41.4 KB