LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 09/11] powerpc/papr_scm: Return the string length from the sysfs show functions
       [not found] <20260930235231.out.387-kees@kernel.org>
@ 2026-09-30 23:52 ` Kees Cook
  2026-10-01  4:17   ` Madhavan Srinivasan
  0 siblings, 1 reply; 3+ messages in thread
From: Kees Cook @ 2026-09-30 23:52 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, Steven Rostedt, nikitash.mariiaw, Greg KH,
	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.

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@linux.intel.com>
Signed-off-by: Kees Cook <kees@kernel.org>
---
 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))
 		seq_buf_printf(&s, "\n");
 
-	return seq_buf_used(&s);
+	return seq_buf_strlen(&s);
 }
 DEVICE_ATTR_RO(flags);
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 09/11] powerpc/papr_scm: Return the string length from the sysfs show functions
  2026-09-30 23:52 ` [PATCH v3 09/11] powerpc/papr_scm: Return the string length from the sysfs show functions Kees Cook
@ 2026-10-01  4:17   ` Madhavan Srinivasan
  2026-10-02  7:54     ` Kees Cook
  0 siblings, 1 reply; 3+ messages in thread
From: Madhavan Srinivasan @ 2026-10-01  4:17 UTC (permalink / raw)
  To: Kees Cook, Bill Wendling
  Cc: Christophe Leroy (CS GROUP), Uwe Kleine-König, linuxppc-dev,
	Michael Ellerman, Nicholas Piggin, Shivaprasad G Bhat,
	Thorsten Blum, Andy Shevchenko, Steven Rostedt, nikitash.mariiaw,
	Greg KH, linux-kernel, linux-hardening


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@linux.intel.com>
> Signed-off-by: Kees Cook <kees@kernel.org>
> ---
>   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);
>   


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 09/11] powerpc/papr_scm: Return the string length from the sysfs show functions
  2026-10-01  4:17   ` Madhavan Srinivasan
@ 2026-10-02  7:54     ` Kees Cook
  0 siblings, 0 replies; 3+ messages in thread
From: Kees Cook @ 2026-10-02  7:54 UTC (permalink / raw)
  To: Madhavan Srinivasan
  Cc: Bill Wendling, Christophe Leroy (CS GROUP), Uwe Kleine-König,
	linuxppc-dev, Michael Ellerman, Nicholas Piggin,
	Shivaprasad G Bhat, Thorsten Blum, Andy Shevchenko,
	Steven Rostedt, nikitash.mariiaw, Greg KH, linux-kernel,
	linux-hardening

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 <andriy.shevchenko@linux.intel.com>
> > Signed-off-by: Kees Cook <kees@kernel.org>
> > ---
> >   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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-02  7:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260930235231.out.387-kees@kernel.org>
2026-09-30 23:52 ` [PATCH v3 09/11] powerpc/papr_scm: Return the string length from the sysfs show functions Kees Cook
2026-10-01  4:17   ` Madhavan Srinivasan
2026-10-02  7:54     ` Kees Cook

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox