Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+9 -7
+1 -1
drivers/vfio/mdev/mdev_sysfs.c
··· 74 74 return count; 75 75 } 76 76 77 - MDEV_TYPE_ATTR_WO(create); 77 + static MDEV_TYPE_ATTR_WO(create); 78 78 79 79 static void mdev_type_release(struct kobject *kobj) 80 80 {
+5 -3
drivers/vfio/pci/vfio_pci_nvlink2.c
··· 97 97 98 98 /* If there were any mappings at all... */ 99 99 if (data->mm) { 100 - ret = mm_iommu_put(data->mm, data->mem); 101 - WARN_ON(ret); 100 + if (data->mem) { 101 + ret = mm_iommu_put(data->mm, data->mem); 102 + WARN_ON(ret); 103 + } 102 104 103 105 mmdrop(data->mm); 104 106 } ··· 161 159 data->useraddr = vma->vm_start; 162 160 data->mm = current->mm; 163 161 164 - atomic_inc(&data->mm->mm_count); 162 + mmgrab(data->mm); 165 163 ret = (int) mm_iommu_newdev(data->mm, data->useraddr, 166 164 vma_pages(vma), data->gpu_hpa, &data->mem); 167 165
+2 -2
drivers/vfio/platform/reset/vfio_platform_amdxgbe.c
··· 24 24 #define MDIO_AN_INT 0x8002 25 25 #define MDIO_AN_INTMASK 0x8001 26 26 27 - static unsigned int xmdio_read(void *ioaddr, unsigned int mmd, 27 + static unsigned int xmdio_read(void __iomem *ioaddr, unsigned int mmd, 28 28 unsigned int reg) 29 29 { 30 30 unsigned int mmd_address, value; ··· 35 35 return value; 36 36 } 37 37 38 - static void xmdio_write(void *ioaddr, unsigned int mmd, 38 + static void xmdio_write(void __iomem *ioaddr, unsigned int mmd, 39 39 unsigned int reg, unsigned int value) 40 40 { 41 41 unsigned int mmd_address;
+1 -1
drivers/vfio/vfio_iommu_spapr_tce.c
··· 79 79 } 80 80 BUG_ON(!current->mm); 81 81 container->mm = current->mm; 82 - atomic_inc(&container->mm->mm_count); 82 + mmgrab(container->mm); 83 83 84 84 return 0; 85 85 }