On Fri, May 05, 2023 at 02:42:33AM +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 145e5cddfe8b4bf607510b2dcf630d95f4db420f > commit: 848839c209785a44524fdafa04b0464cd453da1f [14552/14714] mm-gup-disallow-foll_longterm-gup-fast-writing-to-file-backed-mappings-fix > config: mips-bcm63xx_defconfig (https://download.01.org/0day-ci/archive/20230505/202305050237.1cQ4fBKs-lkp@xxxxxxxxx/config) > compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project b1465cd49efcbc114a75220b153f5a055ce7911f) > 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 mips cross compiling tool for clang build > # apt-get install binutils-mips-linux-gnu > # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=848839c209785a44524fdafa04b0464cd453da1f > git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git > git fetch --no-tags linux-next master > git checkout 848839c209785a44524fdafa04b0464cd453da1f > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips olddefconfig > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > | Link: https://lore.kernel.org/oe-kbuild-all/202305050237.1cQ4fBKs-lkp@xxxxxxxxx/ > > All errors (new ones prefixed by >>): > > >> mm/gup.c:2813:7: error: call to undeclared function 'folio_fast_pin_allowed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] > if (!folio_fast_pin_allowed(folio, flags)) { > ^ > mm/gup.c:2857:7: error: call to undeclared function 'folio_fast_pin_allowed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] > if (!folio_fast_pin_allowed(folio, flags)) { > ^ > mm/gup.c:2897:7: error: call to undeclared function 'folio_fast_pin_allowed'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] > if (!folio_fast_pin_allowed(folio, flags)) { > ^ > 3 errors generated. > > > vim +/folio_fast_pin_allowed +2813 mm/gup.c > > cbd34da7dc9afd Christoph Hellwig 2019-07-11 2782 > 2667f50e8b8145 Steve Capper 2014-10-09 2783 static int gup_huge_pmd(pmd_t orig, pmd_t *pmdp, unsigned long addr, > 0cd22afdcea21f John Hubbard 2019-10-18 2784 unsigned long end, unsigned int flags, > 0cd22afdcea21f John Hubbard 2019-10-18 2785 struct page **pages, int *nr) > 2667f50e8b8145 Steve Capper 2014-10-09 2786 { > 667ed1f7bb3b1c Matthew Wilcox (Oracle 2021-12-22 2787) struct page *page; > 667ed1f7bb3b1c Matthew Wilcox (Oracle 2021-12-22 2788) struct folio *folio; > 2667f50e8b8145 Steve Capper 2014-10-09 2789 int refs; > 2667f50e8b8145 Steve Capper 2014-10-09 2790 > b798bec4741bdd Ira Weiny 2019-05-13 2791 if (!pmd_access_permitted(orig, flags & FOLL_WRITE)) > 2667f50e8b8145 Steve Capper 2014-10-09 2792 return 0; > 2667f50e8b8145 Steve Capper 2014-10-09 2793 > 7af75561e17132 Ira Weiny 2019-05-13 2794 if (pmd_devmap(orig)) { > 7af75561e17132 Ira Weiny 2019-05-13 2795 if (unlikely(flags & FOLL_LONGTERM)) > 7af75561e17132 Ira Weiny 2019-05-13 2796 return 0; > 86dfbed49f88fd John Hubbard 2020-04-01 2797 return __gup_device_huge_pmd(orig, pmdp, addr, end, flags, > 86dfbed49f88fd John Hubbard 2020-04-01 2798 pages, nr); > 7af75561e17132 Ira Weiny 2019-05-13 2799 } > b59f65fa076a8e Kirill A. Shutemov 2017-03-16 2800 > c228afb11ac693 Matthew Wilcox (Oracle 2022-01-07 2801) page = nth_page(pmd_page(orig), (addr & ~PMD_MASK) >> PAGE_SHIFT); > a43e982082c24c John Hubbard 2020-01-30 2802 refs = record_subpages(page, addr, end, pages + *nr); > 2667f50e8b8145 Steve Capper 2014-10-09 2803 > 667ed1f7bb3b1c Matthew Wilcox (Oracle 2021-12-22 2804) folio = try_grab_folio(page, refs, flags); > 667ed1f7bb3b1c Matthew Wilcox (Oracle 2021-12-22 2805) if (!folio) > 2667f50e8b8145 Steve Capper 2014-10-09 2806 return 0; > 2667f50e8b8145 Steve Capper 2014-10-09 2807 > 2667f50e8b8145 Steve Capper 2014-10-09 2808 if (unlikely(pmd_val(orig) != pmd_val(*pmdp))) { > 667ed1f7bb3b1c Matthew Wilcox (Oracle 2021-12-22 2809) gup_put_folio(folio, refs, flags); > 2667f50e8b8145 Steve Capper 2014-10-09 2810 return 0; > 2667f50e8b8145 Steve Capper 2014-10-09 2811 } > 2667f50e8b8145 Steve Capper 2014-10-09 2812 > 369dd755eb2530 Lorenzo Stoakes 2023-05-02 @2813 if (!folio_fast_pin_allowed(folio, flags)) { > 369dd755eb2530 Lorenzo Stoakes 2023-05-02 2814 gup_put_folio(folio, refs, flags); > 369dd755eb2530 Lorenzo Stoakes 2023-05-02 2815 return 0; > 369dd755eb2530 Lorenzo Stoakes 2023-05-02 2816 } > 84209e87c6963f David Hildenbrand 2022-11-16 2817 if (!pmd_write(orig) && gup_must_unshare(NULL, flags, &folio->page)) { > a7f226604170ac David Hildenbrand 2022-05-09 2818 gup_put_folio(folio, refs, flags); > a7f226604170ac David Hildenbrand 2022-05-09 2819 return 0; > a7f226604170ac David Hildenbrand 2022-05-09 2820 } > a7f226604170ac David Hildenbrand 2022-05-09 2821 > a43e982082c24c John Hubbard 2020-01-30 2822 *nr += refs; > 667ed1f7bb3b1c Matthew Wilcox (Oracle 2021-12-22 2823) folio_set_referenced(folio); > 2667f50e8b8145 Steve Capper 2014-10-09 2824 return 1; > 2667f50e8b8145 Steve Capper 2014-10-09 2825 } > 2667f50e8b8145 Steve Capper 2014-10-09 2826 > > :::::: The code at line 2813 was first introduced by commit > :::::: 369dd755eb25309495d67de7cd85b77e0bc0f948 mm/gup: disallow FOLL_LONGTERM GUP-fast writing to file-backed mappings > > :::::: TO: Lorenzo Stoakes <lstoakes@xxxxxxxxx> > :::::: CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests > Just to note that this will be fixed in the v9 of this series coming shortly... :)