[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e702e529-efe3-41a4-953c-cdf838b4e7c5@arm.com>
Date: Thu, 11 Dec 2025 17:15:35 +0530
From: Anshuman Khandual <anshuman.khandual@....com>
To: Josephine Pfeiffer <hi@...ie.lol>, catalin.marinas@....com,
will@...nel.org
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/4] arm64: ptdump: use seq_puts() in pt_dump_seq_puts()
macro
On 18/10/25 10:34 PM, Josephine Pfeiffer wrote:
> The pt_dump_seq_puts() macro incorrectly uses seq_printf() instead of
> seq_puts(). This is both a performance issue and conceptually wrong,
> as the macro name suggests plain string output (puts) but the
> implementation uses formatted output (printf).
>
> All call sites pass constant strings without format specifiers, so
> using seq_printf() adds unnecessary overhead for format string parsing.
>
> This bug was introduced in commit ae5d1cf358a5 ("arm64: dump: Make the
> page table dumping seq_file optional") in 2016, where seq_puts() was
> replaced with a new pt_dump_seq_puts() macro that mistakenly used
> seq_printf().
>
> Fixes: ae5d1cf358a5 ("arm64: dump: Make the page table dumping seq_file optional")
> Signed-off-by: Josephine Pfeiffer <hi@...ie.lol>
> ---
> arch/arm64/mm/ptdump.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/mm/ptdump.c b/arch/arm64/mm/ptdump.c
> index ab9899ca1e5f..a35fcd62bf75 100644
> --- a/arch/arm64/mm/ptdump.c
> +++ b/arch/arm64/mm/ptdump.c
> @@ -35,7 +35,7 @@
> #define pt_dump_seq_puts(m, fmt) \
> ({ \
> if (m) \
> - seq_printf(m, fmt); \
> + seq_puts(m, fmt); \
> })
>
> static const struct ptdump_prot_bits pte_bits[] = {
LGTM and also did no see any problem while dumping via the
sysfs file /sys/kernel/debug/kernel_page_tables
Reviewed-by: Anshuman Khandual <anshuman.khandual@....com>
Powered by blists - more mailing lists