Commit a6d5f9dc authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'vfio-v5.6-rc1' of git://github.com/awilliam/linux-vfio

Pull VFIO updates from Alex Williamson:

 - Fix nvlink error path (Alexey Kardashevskiy)

 - Update nvlink and spapr to use mmgrab() (Julia Lawall)

 - Update static declaration (Ben Dooks)

 - Annotate __iomem to fix sparse warnings (Ben Dooks)

* tag 'vfio-v5.6-rc1' of git://github.com/awilliam/linux-vfio:
  vfio: platform: fix __iomem in vfio_platform_amdxgbe.c
  vfio/mdev: make create attribute static
  vfio/spapr_tce: use mmgrab
  vfio: vfio_pci_nvlink2: use mmgrab
  vfio/spapr/nvlink2: Skip unpinning pages on error exit
parents f4a6365a 7b5372ba
...@@ -74,7 +74,7 @@ static ssize_t create_store(struct kobject *kobj, struct device *dev, ...@@ -74,7 +74,7 @@ static ssize_t create_store(struct kobject *kobj, struct device *dev,
return count; return count;
} }
MDEV_TYPE_ATTR_WO(create); static MDEV_TYPE_ATTR_WO(create);
static void mdev_type_release(struct kobject *kobj) static void mdev_type_release(struct kobject *kobj)
{ {
......
...@@ -97,8 +97,10 @@ static void vfio_pci_nvgpu_release(struct vfio_pci_device *vdev, ...@@ -97,8 +97,10 @@ static void vfio_pci_nvgpu_release(struct vfio_pci_device *vdev,
/* If there were any mappings at all... */ /* If there were any mappings at all... */
if (data->mm) { if (data->mm) {
ret = mm_iommu_put(data->mm, data->mem); if (data->mem) {
WARN_ON(ret); ret = mm_iommu_put(data->mm, data->mem);
WARN_ON(ret);
}
mmdrop(data->mm); mmdrop(data->mm);
} }
...@@ -159,7 +161,7 @@ static int vfio_pci_nvgpu_mmap(struct vfio_pci_device *vdev, ...@@ -159,7 +161,7 @@ static int vfio_pci_nvgpu_mmap(struct vfio_pci_device *vdev,
data->useraddr = vma->vm_start; data->useraddr = vma->vm_start;
data->mm = current->mm; data->mm = current->mm;
atomic_inc(&data->mm->mm_count); mmgrab(data->mm);
ret = (int) mm_iommu_newdev(data->mm, data->useraddr, ret = (int) mm_iommu_newdev(data->mm, data->useraddr,
vma_pages(vma), data->gpu_hpa, &data->mem); vma_pages(vma), data->gpu_hpa, &data->mem);
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#define MDIO_AN_INT 0x8002 #define MDIO_AN_INT 0x8002
#define MDIO_AN_INTMASK 0x8001 #define MDIO_AN_INTMASK 0x8001
static unsigned int xmdio_read(void *ioaddr, unsigned int mmd, static unsigned int xmdio_read(void __iomem *ioaddr, unsigned int mmd,
unsigned int reg) unsigned int reg)
{ {
unsigned int mmd_address, value; unsigned int mmd_address, value;
...@@ -35,7 +35,7 @@ static unsigned int xmdio_read(void *ioaddr, unsigned int mmd, ...@@ -35,7 +35,7 @@ static unsigned int xmdio_read(void *ioaddr, unsigned int mmd,
return value; return value;
} }
static void xmdio_write(void *ioaddr, unsigned int mmd, static void xmdio_write(void __iomem *ioaddr, unsigned int mmd,
unsigned int reg, unsigned int value) unsigned int reg, unsigned int value)
{ {
unsigned int mmd_address; unsigned int mmd_address;
......
...@@ -79,7 +79,7 @@ static long tce_iommu_mm_set(struct tce_container *container) ...@@ -79,7 +79,7 @@ static long tce_iommu_mm_set(struct tce_container *container)
} }
BUG_ON(!current->mm); BUG_ON(!current->mm);
container->mm = current->mm; container->mm = current->mm;
atomic_inc(&container->mm->mm_count); mmgrab(container->mm);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment