* [PATCH v5 10/12] powerpc/papr_scm: Return the string length from the sysfs show functions
[not found] <20261005155653.late.426-kees@kernel.org>
@ 2026-10-05 15:57 ` Kees Cook
0 siblings, 0 replies; only message in thread
From: Kees Cook @ 2026-10-05 15:57 UTC (permalink / raw)
To: Bill Wendling
Cc: Kees Cook, Christophe Leroy (CS GROUP), Uwe Kleine-König,
linuxppc-dev, Madhavan Srinivasan, Michael Ellerman,
Nicholas Piggin, Shivaprasad G Bhat, Thorsten Blum,
Andy Shevchenko, linux-kernel, linux-hardening
perf_stats_show() and flags_show() build their output with a seq_buf
and return seq_buf_used(), which may include the trailing NUL byte
when the seq_buf has overflowed. Use seq_buf_strlen() instead. As
suggested in review, use it as well for flags_show()'s check whether
any flag was printed.
Build tested ARCH=powerpc ppc64_defconfig with GCC powerpc64-linux-gnu
16.2.0:
arch/powerpc/platforms/pseries/papr_scm.o
Assisted-by: LLM
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Kees Cook <kees@kernel.org>
---
arch/powerpc/platforms/pseries/papr_scm.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c
index 75da96c08cdd..5c3bf06bb59b 100644
--- a/arch/powerpc/platforms/pseries/papr_scm.c
+++ b/arch/powerpc/platforms/pseries/papr_scm.c
@@ -1108,7 +1108,7 @@ static ssize_t perf_stats_show(struct device *dev,
free_stats:
kfree(stats);
- return rc ? rc : (ssize_t)seq_buf_used(&s);
+ return rc ?: (ssize_t)seq_buf_strlen(&s);
}
static DEVICE_ATTR_ADMIN_RO(perf_stats);
@@ -1147,10 +1147,10 @@ static ssize_t flags_show(struct device *dev,
if (health & PAPR_PMEM_SCRUBBED_AND_LOCKED)
seq_buf_printf(&s, "scrubbed locked ");
- if (seq_buf_used(&s))
+ if (seq_buf_strlen(&s))
seq_buf_printf(&s, "\n");
- return seq_buf_used(&s);
+ return seq_buf_strlen(&s);
}
DEVICE_ATTR_RO(flags);
--
2.55.0
^ permalink raw reply related [flat|nested] only message in thread