Re: [PATCH v3 09/11] powerpc/papr_scm: Return the string length from the sysfs show functions

From: Madhavan Srinivasan

Date: Thu Oct 01 2026 - 00:20:48 EST



On 10/1/26 5:22 AM, Kees Cook wrote:
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.

Build tested ARCH=powerpc ppc64_defconfig with GCC powerpc64-linux-gnu
16.1.0:
arch/powerpc/platforms/pseries/papr_scm.o

Assisted-by: LLM
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Kees Cook <kees@xxxxxxxxxx>
---
arch/powerpc/platforms/pseries/papr_scm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c
index 75da96c08cdd..b03cfd8528f5 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);
@@ -1150,7 +1150,7 @@ static ssize_t flags_show(struct device *dev,
if (seq_buf_used(&s))

this can also be seq_buf_strlen instead

seq_buf_printf(&s, "\n");
- return seq_buf_used(&s);
+ return seq_buf_strlen(&s);
}
DEVICE_ATTR_RO(flags);