• Alexey Kardashevskiy's avatar
    vfio/spapr/nvlink2: Skip unpinning pages on error exit · 338b4e10
    Alexey Kardashevskiy authored
    The nvlink2 subdriver for IBM Witherspoon machines preregisters
    GPU memory in the IOMMI API so KVM TCE code can map this memory
    for DMA as well. This is done by mm_iommu_newdev() called from
    vfio_pci_nvgpu_regops::mmap.
    
    In an unlikely event of failure the data->mem remains NULL and
    since mm_iommu_put() (which unregisters the region and unpins memory
    if that was regular memory) does not expect mem=NULL, it should not be
    called.
    
    This adds a check to only call mm_iommu_put() for a valid data->mem.
    
    Fixes: 7f928917 ("vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver")
    Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    338b4e10
vfio_pci_nvlink2.c 13 KB