• Jan Beulich's avatar
    Xen/gntdev: correct dev_bus_addr handling in gntdev_map_grant_pages() · dbe52836
    Jan Beulich authored
    
    
    We may not skip setting the field in the unmap structure when
    GNTMAP_device_map is in use - such an unmap would fail to release the
    respective resources (a page ref in the hypervisor). Otoh the field
    doesn't need setting at all when GNTMAP_device_map is not in use.
    
    To record the value for unmapping, we also better don't use our local
    p2m: In particular after a subsequent change it may not have got updated
    for all the batch elements. Instead it can simply be taken from the
    respective map's results.
    
    We can additionally avoid playing this game altogether for the kernel
    part of the mappings in (x86) PV mode.
    
    This is part of XSA-361.
    Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarStefano Stabellini <sstabellini@kernel.org>
    Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
    dbe52836
gntdev.c 27.7 KB