mm: recover pud_leaf() definitions in nopmd case
authorPeter Xu <peterx@redhat.com>
Mon, 11 Mar 2024 16:10:45 +0000 (12:10 -0400)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 13 Mar 2024 19:12:21 +0000 (12:12 -0700)
This reverts one change in commit 924bd6a8c967 ("mm/x86: drop two
unnecessary pud_leaf() definitions").

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.

Link: https://lkml.kernel.org/r/Ze8vFNV9YSdgC2S7@x1n
Fixes: 924bd6a8c967 ("mm/x86: drop two unnecessary pud_leaf() definitions")
Signed-off-by: Peter Xu <peterx@redhat.com>
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/
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: Mike Rapoport (IBM) <rppt@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/asm-generic/pgtable-nopmd.h

index fa27e16bbe1b88cfd1fdc94f670dbae14010e30d..8ffd64e7a24cbb39a671b535122231db6c12abe0 100644 (file)
@@ -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))