lkml.org 
[lkml]   [2022]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [tip: perf/core] perf/core: Convert snprintf() to scnprintf()
On Wed, Sep 21, 2022 at 02:55:35PM +0200, David Sterba wrote:
> On Wed, Sep 21, 2022 at 12:44:35PM +0200, Ingo Molnar wrote:
> >
> > * Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > > On Wed, Sep 21, 2022 at 08:08:55AM -0000, tip-bot2 for Jules Irenge wrote:
> > > > The following commit has been merged into the perf/core branch of tip:
> > > >
> > > > Commit-ID: 678739d622ae7b75b62d550858b6bf104c43e2df
> > > > Gitweb: https://git.kernel.org/tip/678739d622ae7b75b62d550858b6bf104c43e2df
> > > > Author: Jules Irenge <jbi.octave@gmail.com>
> > > > AuthorDate: Sun, 18 Sep 2022 00:41:08 +01:00
> > > > Committer: Ingo Molnar <mingo@kernel.org>
> > > > CommitterDate: Wed, 21 Sep 2022 10:01:20 +02:00
> > > >
> > > > perf/core: Convert snprintf() to scnprintf()
> > > >
> > > > Coccinelle reports a warning:
> > > >
> > > > WARNING: use scnprintf or sprintf
> > > >
> > > > Adding to that, there has also been some slow migration from snprintf to scnprintf.
> > > >
> > > > This LWN article explains the rationale for this change:
> > > >
> > > > https: //lwn.net/Articles/69419/
> > > >
> > > > No change in behavior.
> > > >
> > > > [ mingo: Improved the changelog. ]
> > >
> > > And yet, at this point I still have no clue what's wrong with
> > > snprintf(). So not much improvement :/
> >
> > I've added this to the changelog:
> >
> > perf/core: Convert snprintf() to scnprintf()
>
> I'm not sure if it would apply in this case as it's for a device
> attribute, but there's another helper sysfs_emit that does the safe
> print to string and one does not have to care which flavor of s*printf
> it is. We had patches in btrfs converting from snprintf to scnprintf and
> the latest one is sysfs_emit which is convenient to use but assumes the
> PAGE_SIZE of the buffer.

Yes, you are right. I can resend the patch with sysfs_emit() if

possible as the latest documentation on sysfs states that

show() device function should only use sysfs_emit() or sysfs_emit_at()
when formatting the value to be returned to user space.

* https://www.kernel.org/doc/html/latest/filesystems/sysfs.html

I don't know whether it may apply to this subsystem. I have to read
more about it and test

thanks
jules

\
 
 \ /
  Last update: 2022-09-29 10:28    [W:0.178 / U:1.296 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site