[awilliam-vfio:vfio-address-space 4/4] drivers/vfio/pci/vfio_pci_core.c:1693:undefined reference to `vmf_insert_pfn_pud'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://github.com/awilliam/linux-vfio.git vfio-address-space
head:   ec6c970f8374f91df0ebfe180cd388ba31187942
commit: ec6c970f8374f91df0ebfe180cd388ba31187942 [4/4] vfio/pci: Make use of huge_fault
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20240424/202404242226.o8OcEO59-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240424/202404242226.o8OcEO59-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202404242226.o8OcEO59-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   aarch64-linux-ld: Unexpected GOT/PLT entries detected!
   aarch64-linux-ld: Unexpected run-time procedure linkages detected!
   aarch64-linux-ld: drivers/vfio/pci/vfio_pci_core.o: in function `vfio_pci_mmap_huge_fault':
>> drivers/vfio/pci/vfio_pci_core.c:1693:(.text+0xc40): undefined reference to `vmf_insert_pfn_pud'


vim +1693 drivers/vfio/pci/vfio_pci_core.c

  1666	
  1667	static vm_fault_t vfio_pci_mmap_huge_fault(struct vm_fault *vmf, unsigned int order)
  1668	{
  1669		struct vm_area_struct *vma = vmf->vma;
  1670		struct vfio_pci_core_device *vdev = vma->vm_private_data;
  1671		unsigned long pfn, pgoff = vmf->pgoff - vma->vm_pgoff;
  1672		vm_fault_t ret = VM_FAULT_FALLBACK;
  1673	
  1674		if (vmf->address & ((PAGE_SIZE << order) - 1) ||
  1675		    vmf->address + (PAGE_SIZE << order) > vma->vm_end)
  1676			return ret;
  1677	
  1678		if (vma_to_pfn(vma, &pfn))
  1679			return ret;
  1680	
  1681		down_read(&vdev->memory_lock);
  1682	
  1683		if (vdev->pm_runtime_engaged || !__vfio_pci_memory_enabled(vdev)) {
  1684			ret = VM_FAULT_SIGBUS;
  1685			goto out_disabled;
  1686		}
  1687	
  1688		if (order == 0)
  1689			ret = vmf_insert_pfn(vma, vmf->address, pfn + pgoff);
  1690		else if (order == PMD_ORDER)
  1691			ret = vmf_insert_pfn_pmd(vmf, __pfn_to_pfn_t(pfn + pgoff, PFN_DEV), false);
  1692		else if (order == PUD_ORDER)
> 1693			ret = vmf_insert_pfn_pud(vmf, __pfn_to_pfn_t(pfn + pgoff, PFN_DEV), false);
  1694	
  1695	out_disabled:
  1696		up_read(&vdev->memory_lock);
  1697	
  1698		return ret;
  1699	}
  1700	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux