• Jan Beulich's avatar
    Xen/x86: don't bail early from clear_foreign_p2m_mapping() · a35f2ef3
    Jan Beulich authored
    Its sibling (set_foreign_p2m_mapping()) as well as the sibling of its
    only caller (gnttab_map_refs()) don't clean up after themselves in case
    of error. Higher level callers are expected to do so. However, in order
    for that to really clean up any partially set up state, the operation
    should not terminate upon encountering an entry in unexpected state. It
    is particularly relevant to notice here that set_foreign_p2m_mapping()
    would skip setting up a p2m entry if its grant mapping failed, but it
    would continue to set up further p2m entries as long as their mappings
    succeeded.
    
    Arguably down the road set_foreign_p2m_mapping() may want its page state
    related WARN_ON() also converted to an error return.
    
    This is part of XSA-361.
    Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
    Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
    a35f2ef3
p2m.c 21.3 KB