From: sashiko-bot@kernel.org
To: "Yeoreum Yun" <yeoreum.yun@arm.com>
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH 06/21] mm/pgtable: define (pgd|p4d|pud)_leaf() for folded page tables
Date: Mon, 21 Sep 2026 11:15:54 +0000 [thread overview]
Message-ID: <20260921111555.4561F1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260921-dummy_ptxp3-v1-6-cd40cf68242e@arm.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] mm: broken macro definitions for p4d_ERROR and pud_ERROR
--
commit b1d94b4085bf94fbd22f26d0b8cf668f45ded666
Author: David Hildenbrand (Arm) <david@kernel.org>
mm/pgtable: define (pgd|p4d|pud)_leaf() for folded page tables
This commit defines pgd_leaf(), p4d_leaf(), and pud_leaf() for folded page
tables, hard-coding them to return false. It updates the functions to use bool
as a return type and ensures pud_leaf() is defined to prevent architectures from
inadvertently overwriting it.
> diff --git a/include/asm-generic/pgtable-nop4d.h b/include/asm-generic/pgtable-nop4d.h
> index 1cf739ee38aa1..c6a5a43899b50 100644
> --- a/include/asm-generic/pgtable-nop4d.h
> +++ b/include/asm-generic/pgtable-nop4d.h
> @@ -22,6 +22,9 @@ static inline int pgd_none(pgd_t pgd) { return 0; }
> static inline int pgd_bad(pgd_t pgd) { return 0; }
> static inline int pgd_present(pgd_t pgd) { return 1; }
> static inline void pgd_clear(pgd_t *pgd) { }
> +static inline bool pgd_leaf(pgd_t pgd) { return false; }
> +#define pgd_leaf pgd_leaf
> +#define p4d_ERROR(p4d) (pgd_ERROR((p4d).pgd))
[Severity: Low]
Is this p4d_ERROR() macro definition correct? It expands to pgd_ERROR(), but
pgd_ERROR() does not appear to exist in the kernel. This could cause a compile
error if a developer attempts to use p4d_ERROR() in architectures relying on
include/asm-generic/pgtable-nop4d.h.
>
> #define pgd_populate(mm, pgd, p4d) do { } while (0)
> #define pgd_populate_safe(mm, pgd, p4d) do { } while (0)
[ ... ]
> diff --git a/include/asm-generic/pgtable-nopud.h b/include/asm-generic/pgtable-nopud.h
> index eedee8e3ad68f..6c9bca78047c4 100644
> --- a/include/asm-generic/pgtable-nopud.h
> +++ b/include/asm-generic/pgtable-nopud.h
> @@ -29,6 +29,9 @@ static inline int p4d_none(p4d_t p4d) { return 0; }
> static inline int p4d_bad(p4d_t p4d) { return 0; }
> static inline int p4d_present(p4d_t p4d) { return 1; }
> static inline void p4d_clear(p4d_t *p4d) { }
> +static inline bool p4d_leaf(p4d_t p4d) { return false; }
> +#define p4d_leaf p4d_leaf
> +#define pud_ERROR(pud) (p4d_ERROR((pud).p4d))
[Severity: Low]
Does pud_ERROR() propagate the missing macro issue? It expands to p4d_ERROR(),
which in turn attempts to use the non-existent pgd_ERROR(). This also appears
to result in a compile error if code in include/asm-generic/pgtable-nopud.h
attempts to use it.
>
> #define p4d_populate(mm, p4d, pud) do { } while (0)
> #define p4d_populate_safe(mm, p4d, pud) do { } while (0)
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260921-dummy_ptxp3-v1-0-cd40cf68242e@arm.com?part=6
next prev parent reply other threads:[~2026-09-21 11:15 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 10:55 [PATCH 00/21] mm: change behavior of pXdp_get()/pXd_page() in compile-time folded pgtable Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 01/21] ARM: mm: make nommu pgd_t a scalar Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 02/21] ARM: mm: make 2-level " Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 03/21] ARM: mm: remove custom pgdp_get() Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 04/21] LoongArch: mm: define pud_leaf() only when PUD exists Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 05/21] MIPS: " Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 06/21] mm/pgtable: define (pgd|p4d|pud)_leaf() for folded page tables Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 11:15 ` sashiko-bot [this message]
2026-09-21 10:55 ` [PATCH 07/21] mm/pgtable: define (pgd|p4d|pud)_offset_lockless() " Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 08/21] mm: vmscan: remove stack copy address of pud/pmd pass in walk_pud/pmd_range() Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 09/21] loongarch: kvm: remove stack copy address of pXd in pXd_offset() Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 10/21] riscv: " Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 11/21] riscv: mm: use proper set_pXd() for generic compile-time folded patable in vmalloc_fault() Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 12/21] mm/pgtable: redefine PGTABLE_LEVEL enum with ascend order from PGD Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 13/21] x86/mm: Introduce helper for checking direct map 1G page support Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 14/21] x86: mm: use pgtable_level enum in effective_prot_pXd() Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 15/21] x86: mm: carve out the generic compile-time folded pgtable case in effective_prot() Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 16/21] openrisc/pgtable: drop __pmd_offset() Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 17/21] mm/pgtable: optimize pmdp_get() and friends for folded pagetable levels Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 18/21] mm/pgtable: catch abuse of folded dummy pgd_t/p4d_t/pud_t Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 19/21] mm/pgtable: disallow calling (pgd|p4d|pud)_page, pgd_page_vaddr() and (p4d|pud)_pgtable with dummy Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 20/21] mm/pgtable: disallow calling folded set_pgd/set_p4d/set_pud " Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` [PATCH 21/21] Documentation: mm: clarify behaviour of compile-time folded page tables Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 10:55 ` Yeoreum Yun
2026-09-21 16:20 ` Randy Dunlap
2026-09-21 16:20 ` Randy Dunlap
2026-09-21 16:20 ` Randy Dunlap
2026-09-21 20:26 ` Yeoreum Yun
2026-09-21 20:26 ` Yeoreum Yun
2026-09-21 20:26 ` Yeoreum Yun
2026-09-21 21:11 ` [PATCH 00/21] mm: change behavior of pXdp_get()/pXd_page() in compile-time folded pgtable Muhammad Usama Anjum
2026-09-21 21:11 ` Muhammad Usama Anjum
2026-09-21 21:11 ` Muhammad Usama Anjum
2026-10-02 15:19 ` Yeoreum Yun
2026-10-02 15:19 ` Yeoreum Yun
2026-10-02 15:19 ` Yeoreum Yun
2026-10-13 9:31 ` Yeoreum Yun
2026-10-13 9:31 ` Yeoreum Yun
2026-10-13 9:31 ` Yeoreum Yun
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=20260921111555.4561F1F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=yeoreum.yun@arm.com \
/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.