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