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: 4+ 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
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 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).