[luxis1999-iommufd:iommufd-v5.17-rc1 29/29] drivers/iommu/iommufd/pages.c:482:2: error: implicit declaration of function 'kunmap_atomic'

From: kernel test robot
Date: Mon Feb 14 2022 - 06:54:05 EST


tree: https://github.com/luxis1999/iommufd iommufd-v5.17-rc1
head: 0afc8638a638ddb14a59876ee72e869b770f4c02
commit: 0afc8638a638ddb14a59876ee72e869b770f4c02 [29/29] iommufd: Add device mmio map support
config: i386-randconfig-a015 (https://download.01.org/0day-ci/archive/20220214/202202141921.KB6IvVIV-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project ea071884b0cc7210b3cc5fe858f0e892a779a23b)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/luxis1999/iommufd/commit/0afc8638a638ddb14a59876ee72e869b770f4c02
git remote add luxis1999-iommufd https://github.com/luxis1999/iommufd
git fetch --no-tags luxis1999-iommufd iommufd-v5.17-rc1
git checkout 0afc8638a638ddb14a59876ee72e869b770f4c02
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/iommu/iommufd/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> drivers/iommu/iommufd/pages.c:482:2: error: implicit declaration of function 'kunmap_atomic' [-Werror,-Wimplicit-function-declaration]
pte_unmap_unlock(ptep, ptl);
^
include/linux/mm.h:2345:2: note: expanded from macro 'pte_unmap_unlock'
pte_unmap(pte); \
^
include/linux/pgtable.h:99:24: note: expanded from macro 'pte_unmap'
#define pte_unmap(pte) kunmap_atomic((pte))
^
1 error generated.

Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for IOMMUFD
Depends on IOMMU_SUPPORT
Selected by
- VFIO_PCI_CORE && VFIO && PCI && MMU


vim +/kunmap_atomic +482 drivers/iommu/iommufd/pages.c

449
450 static int follow_fault_pfn(struct vm_area_struct *vma, struct mm_struct *mm,
451 unsigned long vaddr, unsigned long *pfn,
452 bool write_fault)
453 {
454 pte_t *ptep;
455 spinlock_t *ptl;
456 int ret;
457
458 ret = follow_pte(vma->vm_mm, vaddr, &ptep, &ptl);
459 if (ret) {
460 bool unlocked = false;
461
462 ret = fixup_user_fault(mm, vaddr,
463 FAULT_FLAG_REMOTE |
464 (write_fault ? FAULT_FLAG_WRITE : 0),
465 &unlocked);
466 if (unlocked)
467 return -EAGAIN;
468
469 if (ret)
470 return ret;
471
472 ret = follow_pte(vma->vm_mm, vaddr, &ptep, &ptl);
473 if (ret)
474 return ret;
475 }
476
477 if (write_fault && !pte_write(*ptep))
478 ret = -EFAULT;
479 else
480 *pfn = pte_pfn(*ptep);
481
> 482 pte_unmap_unlock(ptep, ptl);
483 return ret;
484 }
485

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx