From: Peter Xu <peterx@redhat.com>
To: kernel test robot <lkp@intel.com>
Cc: oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
Jason Gunthorpe <jgg@nvidia.com>,
"Mike Rapoport (IBM)" <rppt@kernel.org>
Subject: 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'?
Date: Mon, 11 Mar 2024 12:19:32 -0400 [thread overview]
Message-ID: <Ze8vFNV9YSdgC2S7@x1n> (raw)
In-Reply-To: <202403101607.a42gaLOS-lkp@intel.com>
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
next prev parent reply other threads:[~2024-03-11 16:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2024-03-13 19:06 ` Andrew Morton
2024-03-13 19:59 ` Peter Xu
2024-03-14 9:09 ` Yujie Liu
2024-03-14 14:10 ` Peter Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Ze8vFNV9YSdgC2S7@x1n \
--to=peterx@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=jgg@nvidia.com \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=rppt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.