tree: https://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git mapcount_deshare head: 3e2f198cce0c1792ad71d6d81974b091019b6483 commit: 8dec302e87453234fc7ac1cf4d09e4d577a06cf3 [20/27] mm: gup: pack has_pinned in MMF_HAS_PINNED config: arm-randconfig-r014-20210511 (attached as .config) compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project a0fed635fe1701470062495a6ffee1c608f3f1bc) 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 # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git/commit/?id=8dec302e87453234fc7ac1cf4d09e4d577a06cf3 git remote add aa https://git.kernel.org/pub/scm/linux/kernel/git/andrea/aa.git git fetch --no-tags aa mapcount_deshare git checkout 8dec302e87453234fc7ac1cf4d09e4d577a06cf3 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> mm/gup.c:2756:3: error: implicit declaration of function 'mm_set_has_pinned_flag' [-Werror,-Wimplicit-function-declaration] mm_set_has_pinned_flag(¤t->mm->flags); ^ 1 error generated. vim +/mm_set_has_pinned_flag +2756 mm/gup.c 2740 2741 static int internal_get_user_pages_fast(unsigned long start, 2742 unsigned long nr_pages, 2743 unsigned int gup_flags, 2744 struct page **pages) 2745 { 2746 unsigned long len, end; 2747 unsigned long nr_pinned; 2748 int ret; 2749 2750 if (WARN_ON_ONCE(gup_flags & ~(FOLL_WRITE | FOLL_LONGTERM | 2751 FOLL_FORCE | FOLL_PIN | FOLL_GET | 2752 FOLL_FAST_ONLY))) 2753 return -EINVAL; 2754 2755 if (gup_flags & FOLL_PIN) > 2756 mm_set_has_pinned_flag(¤t->mm->flags); 2757 2758 if (!(gup_flags & FOLL_FAST_ONLY)) 2759 might_lock_read(¤t->mm->mmap_lock); 2760 2761 start = untagged_addr(start) & PAGE_MASK; 2762 len = nr_pages << PAGE_SHIFT; 2763 if (check_add_overflow(start, len, &end)) 2764 return 0; 2765 if (unlikely(!access_ok((void __user *)start, len))) 2766 return -EFAULT; 2767 2768 nr_pinned = lockless_pages_from_mm(start, end, gup_flags, pages); 2769 if (nr_pinned == nr_pages || gup_flags & FOLL_FAST_ONLY) 2770 return nr_pinned; 2771 2772 /* Slow path: try to get the remaining pages with get_user_pages */ 2773 start += nr_pinned << PAGE_SHIFT; 2774 pages += nr_pinned; 2775 ret = __gup_longterm_unlocked(start, nr_pages - nr_pinned, gup_flags, 2776 pages); 2777 if (ret < 0) { 2778 /* 2779 * The caller has to unpin the pages we already pinned so 2780 * returning -errno is not an option 2781 */ 2782 if (nr_pinned) 2783 return nr_pinned; 2784 return ret; 2785 } 2786 return ret + nr_pinned; 2787 } 2788 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org