* [linux-next:master 12265/12944] arch/arm64/include/asm/pgtable.h:904:16: error: implicit declaration of function 'pud_leaf'; did you mean 'pmd_leaf'?
@ 2024-03-10 8:10 kernel test robot
2024-03-11 16:19 ` Peter Xu
0 siblings, 1 reply; 4+ messages in thread
From: kernel test robot @ 2024-03-10 8:10 UTC (permalink / raw)
To: Peter Xu
Cc: oe-kbuild-all, Linux Memory Management List, Andrew Morton,
Jason Gunthorpe, Mike Rapoport (IBM)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 8ffc8b1bbd505e27e2c8439d326b6059c906c9dd
commit: 924bd6a8c96767a05323d575bdefd664631dce73 [12265/12944] mm/x86: drop two unnecessary pud_leaf() definitions
config: arm64-randconfig-r031-20230409 (https://download.01.org/0day-ci/archive/20240310/202403101607.a42gaLOS-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240310/202403101607.a42gaLOS-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403101607.a42gaLOS-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/pgtable.h:6,
from arch/arm64/include/asm/io.h:12,
from include/linux/io.h:13,
from include/acpi/acpi_io.h:5,
from include/linux/acpi.h:39,
from include/acpi/apei.h:9,
from include/acpi/ghes.h:5,
from include/linux/arm_sdei.h:8,
from arch/arm64/kernel/asm-offsets.c:10:
arch/arm64/include/asm/pgtable.h: In function 'pud_user_accessible_page':
>> arch/arm64/include/asm/pgtable.h:904:16: error: implicit declaration of function 'pud_leaf'; did you mean 'pmd_leaf'? [-Werror=implicit-function-declaration]
904 | return pud_leaf(pud) && (pud_user(pud) || pud_user_exec(pud));
| ^~~~~~~~
| pmd_leaf
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:116: arch/arm64/kernel/asm-offsets.s] Error 1
make[3]: Target 'prepare' not remade because of errors.
make[2]: *** [Makefile:1199: prepare0] Error 2
make[2]: Target 'prepare' not remade because of errors.
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:240: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +904 arch/arm64/include/asm/pgtable.h
ed928a3402d8a2 Tong Tiangen 2022-05-17 901
ed928a3402d8a2 Tong Tiangen 2022-05-17 902 static inline bool pud_user_accessible_page(pud_t pud)
ed928a3402d8a2 Tong Tiangen 2022-05-17 903 {
730a11f982e61a Liu Shixin 2022-11-22 @904 return pud_leaf(pud) && (pud_user(pud) || pud_user_exec(pud));
ed928a3402d8a2 Tong Tiangen 2022-05-17 905 }
ed928a3402d8a2 Tong Tiangen 2022-05-17 906 #endif
ed928a3402d8a2 Tong Tiangen 2022-05-17 907
:::::: The code at line 904 was first introduced by commit
:::::: 730a11f982e61aaef758ab552dfb7c30de79e99b arm64/mm: add pud_user_exec() check in pud_user_accessible_page()
:::::: TO: Liu Shixin <liushixin2@huawei.com>
:::::: CC: Will Deacon <will@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [linux-next:master 12265/12944] arch/arm64/include/asm/pgtable.h:904:16: error: implicit declaration of function 'pud_leaf'; did you mean 'pmd_leaf'? 2024-03-10 8:10 [linux-next:master 12265/12944] arch/arm64/include/asm/pgtable.h:904:16: error: implicit declaration of function 'pud_leaf'; did you mean 'pmd_leaf'? kernel test robot @ 2024-03-11 16:19 ` Peter Xu 2024-03-13 19:06 ` Andrew Morton 0 siblings, 1 reply; 4+ messages in thread From: Peter Xu @ 2024-03-11 16:19 UTC (permalink / raw) To: kernel test robot Cc: oe-kbuild-all, Linux Memory Management List, Andrew Morton, Jason Gunthorpe, Mike Rapoport (IBM) On Sun, Mar 10, 2024 at 04:10:37PM +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 8ffc8b1bbd505e27e2c8439d326b6059c906c9dd > commit: 924bd6a8c96767a05323d575bdefd664631dce73 [12265/12944] mm/x86: drop two unnecessary pud_leaf() definitions > config: arm64-randconfig-r031-20230409 (https://download.01.org/0day-ci/archive/20240310/202403101607.a42gaLOS-lkp@intel.com/config) > compiler: aarch64-linux-gcc (GCC) 13.2.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240310/202403101607.a42gaLOS-lkp@intel.com/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@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202403101607.a42gaLOS-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > In file included from include/linux/pgtable.h:6, > from arch/arm64/include/asm/io.h:12, > from include/linux/io.h:13, > from include/acpi/acpi_io.h:5, > from include/linux/acpi.h:39, > from include/acpi/apei.h:9, > from include/acpi/ghes.h:5, > from include/linux/arm_sdei.h:8, > from arch/arm64/kernel/asm-offsets.c:10: > arch/arm64/include/asm/pgtable.h: In function 'pud_user_accessible_page': > >> arch/arm64/include/asm/pgtable.h:904:16: error: implicit declaration of function 'pud_leaf'; did you mean 'pmd_leaf'? [-Werror=implicit-function-declaration] > 904 | return pud_leaf(pud) && (pud_user(pud) || pud_user_exec(pud)); > | ^~~~~~~~ > | pmd_leaf > cc1: some warnings being treated as errors > make[3]: *** [scripts/Makefile.build:116: arch/arm64/kernel/asm-offsets.s] Error 1 > make[3]: Target 'prepare' not remade because of errors. > make[2]: *** [Makefile:1199: prepare0] Error 2 > make[2]: Target 'prepare' not remade because of errors. > make[1]: *** [Makefile:240: __sub-make] Error 2 > make[1]: Target 'prepare' not remade because of errors. > make: *** [Makefile:240: __sub-make] Error 2 > make: Target 'prepare' not remade because of errors. > > > vim +904 arch/arm64/include/asm/pgtable.h > > ed928a3402d8a2 Tong Tiangen 2022-05-17 901 > ed928a3402d8a2 Tong Tiangen 2022-05-17 902 static inline bool pud_user_accessible_page(pud_t pud) > ed928a3402d8a2 Tong Tiangen 2022-05-17 903 { > 730a11f982e61a Liu Shixin 2022-11-22 @904 return pud_leaf(pud) && (pud_user(pud) || pud_user_exec(pud)); > ed928a3402d8a2 Tong Tiangen 2022-05-17 905 } > ed928a3402d8a2 Tong Tiangen 2022-05-17 906 #endif > ed928a3402d8a2 Tong Tiangen 2022-05-17 907 > > :::::: The code at line 904 was first introduced by commit > :::::: 730a11f982e61aaef758ab552dfb7c30de79e99b arm64/mm: add pud_user_exec() check in pud_user_accessible_page() > > :::::: TO: Liu Shixin <liushixin2@huawei.com> > :::::: CC: Will Deacon <will@kernel.org> > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests/wiki > There's another possibly relevant report for riscv: https://lore.kernel.org/r/202403090900.OwPqmRuI-lkp@intel.com I think I messed up the nopmd use case. Since this commit already landed mm-stable, I assume there's no way I provide a fixup. I attached a formal patch below, but I don't know how to test it myself, and I'm not 100% confident. Before I post a formal patch, can anyone let me know how I can kickoff the test bot to test the patch (or help me do the kickoff)? Thanks, ======8<======= From acc5598c7af0b7c9a486a49b8c562bb351e8d35b Mon Sep 17 00:00:00 2001 From: Peter Xu <peterx@redhat.com> Date: Mon, 11 Mar 2024 12:10:45 -0400 Subject: [PATCH] mm: Recover pud_leaf() definitions in nopmd case This reverts one change in commit 924bd6a8c96767a05323d575bdefd664631dce73. One issue with that is it broke nopmd builds for at least both arm64 and riscv (CONFIG_PGTABLE_LEVELS=2). The other issue is it was overlooked that it's a common change rather than x86 specific (relevant to the commit message of the commit). Normally there's no need for empty definition of pXd_leaf() because of the fallback functions, however this logic may not apply to pgtable-nopmd.h, because that's a header that can even be used by arch *pgtable.h headers, which can use the *_leaf() definitions _before_ the fallback functions are defined. Leave it there to pass PGTABLE_LEVELS=2 builds. Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202403090900.OwPqmRuI-lkp@intel.com/ Closes: https://lore.kernel.org/oe-kbuild-all/202403101607.a42gaLOS-lkp@intel.com/ Fixes: 924bd6a8c967 ("mm/x86: drop two unnecessary pud_leaf() definitions") Signed-off-by: Peter Xu <peterx@redhat.com> --- include/asm-generic/pgtable-nopmd.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/asm-generic/pgtable-nopmd.h b/include/asm-generic/pgtable-nopmd.h index fa27e16bbe1b..8ffd64e7a24c 100644 --- a/include/asm-generic/pgtable-nopmd.h +++ b/include/asm-generic/pgtable-nopmd.h @@ -31,6 +31,7 @@ static inline int pud_none(pud_t pud) { return 0; } static inline int pud_bad(pud_t pud) { return 0; } static inline int pud_present(pud_t pud) { return 1; } static inline int pud_user(pud_t pud) { return 0; } +static inline int pud_leaf(pud_t pud) { return 0; } static inline void pud_clear(pud_t *pud) { } #define pmd_ERROR(pmd) (pud_ERROR((pmd).pud)) -- 2.44.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [linux-next:master 12265/12944] arch/arm64/include/asm/pgtable.h:904:16: error: implicit declaration of function 'pud_leaf'; did you mean 'pmd_leaf'? 2024-03-11 16:19 ` Peter Xu @ 2024-03-13 19:06 ` Andrew Morton 2024-03-13 19:59 ` Peter Xu 0 siblings, 1 reply; 4+ messages in thread From: Andrew Morton @ 2024-03-13 19:06 UTC (permalink / raw) To: Peter Xu Cc: kernel test robot, oe-kbuild-all, Linux Memory Management List, Jason Gunthorpe, Mike Rapoport (IBM) > > There's another possibly relevant report for riscv: > > https://lore.kernel.org/r/202403090900.OwPqmRuI-lkp@intel.com > > I think I messed up the nopmd use case. Since this commit already landed > mm-stable, I assume there's no way I provide a fixup. > > I attached a formal patch below, but I don't know how to test it myself, What I do: Grab https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.2.0/x86_64-gcc-13.2.0-nolibc-aarch64-linux.tar.gz untar that into /opt/crosstool And my crufty old script does, partly, WHAT="$*" ... [ $ARCH = arm64 ] && CT=gcc-13.2.0-nolibc && XARCH=aarch64-linux ... PATH=$PATH:/opt/crosstool/$CT/$XARCH/bin export PATH export CROSS_COMPILE=/opt/crosstool/$CT/$XARCH/bin/$XARCH- export CC="/opt/crosstool/$CT/$XARCH/bin/$XARCH-gcc" J=$(grep "^processor" /proc/cpuinfo | wc -l) J=$(expr $J \* 2) nice -20 make -j$J CC="$CC" $WHAT 2>/tmp/log-$ARCH setenv ARCH arm64 crufty-old-script vmlinux modules > and I'm not 100% confident. Before I post a formal patch, can anyone let > me know how I can kickoff the test bot to test the patch (or help me do the > kickoff)? Worked for me, thanks. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [linux-next:master 12265/12944] arch/arm64/include/asm/pgtable.h:904:16: error: implicit declaration of function 'pud_leaf'; did you mean 'pmd_leaf'? 2024-03-13 19:06 ` Andrew Morton @ 2024-03-13 19:59 ` Peter Xu 0 siblings, 0 replies; 4+ messages in thread From: Peter Xu @ 2024-03-13 19:59 UTC (permalink / raw) To: Andrew Morton Cc: kernel test robot, oe-kbuild-all, Linux Memory Management List, Jason Gunthorpe, Mike Rapoport (IBM) On Wed, Mar 13, 2024 at 12:06:22PM -0700, Andrew Morton wrote: > > > > There's another possibly relevant report for riscv: > > > > https://lore.kernel.org/r/202403090900.OwPqmRuI-lkp@intel.com > > > > I think I messed up the nopmd use case. Since this commit already landed > > mm-stable, I assume there's no way I provide a fixup. > > > > I attached a formal patch below, but I don't know how to test it myself, > > What I do: > > Grab https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.2.0/x86_64-gcc-13.2.0-nolibc-aarch64-linux.tar.gz > > untar that into /opt/crosstool > > And my crufty old script does, partly, > > WHAT="$*" > > ... > [ $ARCH = arm64 ] && CT=gcc-13.2.0-nolibc && XARCH=aarch64-linux > ... > > PATH=$PATH:/opt/crosstool/$CT/$XARCH/bin export PATH > export CROSS_COMPILE=/opt/crosstool/$CT/$XARCH/bin/$XARCH- > export CC="/opt/crosstool/$CT/$XARCH/bin/$XARCH-gcc" > J=$(grep "^processor" /proc/cpuinfo | wc -l) > J=$(expr $J \* 2) > nice -20 make -j$J CC="$CC" $WHAT 2>/tmp/log-$ARCH > > setenv ARCH arm64 > crufty-old-script vmlinux modules I'll keep these notes. > > > and I'm not 100% confident. Before I post a formal patch, can anyone let > > me know how I can kickoff the test bot to test the patch (or help me do the > > kickoff)? > > Worked for me, thanks. I will try to do better next time.. Thanks a lot for the help, Andrew! -- Peter Xu ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-03-13 20:00 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-03-10 8:10 [linux-next:master 12265/12944] arch/arm64/include/asm/pgtable.h:904:16: error: implicit declaration of function 'pud_leaf'; did you mean 'pmd_leaf'? kernel test robot 2024-03-11 16:19 ` Peter Xu 2024-03-13 19:06 ` Andrew Morton 2024-03-13 19:59 ` Peter Xu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).