mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-19 12:00:00 +00:00
vfio/spapr/nvlink2: Skip unpinning pages on error exit
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: 7f92891778df ("vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver") Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
c79f46a282
commit
338b4e10f9
@ -97,8 +97,10 @@ static void vfio_pci_nvgpu_release(struct vfio_pci_device *vdev,
|
||||
|
||||
/* If there were any mappings at all... */
|
||||
if (data->mm) {
|
||||
ret = mm_iommu_put(data->mm, data->mem);
|
||||
WARN_ON(ret);
|
||||
if (data->mem) {
|
||||
ret = mm_iommu_put(data->mm, data->mem);
|
||||
WARN_ON(ret);
|
||||
}
|
||||
|
||||
mmdrop(data->mm);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user