On Thu, Oct 01, 2026 at 09:47:56AM +0530, Madhavan Srinivasan wrote: > > 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 <[email protected]> > > Signed-off-by: Kees Cook <[email protected]> > > --- > > 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
It could be, yeah. I left it because it seemed be more about "did we touch this at all?" But it's honestly all the same. I will respin with it changed too. > > > seq_buf_printf(&s, "\n"); > > - return seq_buf_used(&s); > > + return seq_buf_strlen(&s); > > } > > DEVICE_ATTR_RO(flags); -- Kees Cook

