All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Subject: Re: [PATCH v2 3/4] pwm: sysfs: Replace sprintf() with sysfs_emit()
Date: Wed, 28 Sep 2022 18:39:45 +0300	[thread overview]
Message-ID: <YzRqwUJeZjxCaDrF@smile.fi.intel.com> (raw)
In-Reply-To: <YzRmJ3mBKf+cvy5T@orome>

On Wed, Sep 28, 2022 at 05:20:07PM +0200, Thierry Reding wrote:
> On Wed, Sep 28, 2022 at 04:58:17PM +0300, Andy Shevchenko wrote:
> > On Wed, Sep 28, 2022 at 04:40:35PM +0300, Andy Shevchenko wrote:
> > > On Wed, Sep 28, 2022 at 02:28:41PM +0200, Thierry Reding wrote:
> > > > On Fri, Aug 26, 2022 at 08:07:15PM +0300, Andy Shevchenko wrote:
> > > > > For sysfs outputs, it's safer to use a new helper, sysfs_emit(),
> > > > > instead of the raw sprintf() & co. This patch replaces such a
> > > > > sprintf() call straightforwardly with the new helper.
> > > 
> > > > How exactly is sysfs_emit() safer here? In all of these cases, the
> > > > values that sprintf() writes are the only values that are written into
> > > > the buffer and we know that none of them exceed PAGE_SIZE. So the
> > > > additional checks that sysfs_emit() performs are useless.
> > > 
> > > This is a recommended way to use sysfs_emit() mentioned in Documentation.
> > > Care to fix documentation?
> > 
> > For your convenience, Documentation/filesystems/sysfs.rst says:
> > 
> > - show() should only use sysfs_emit() or sysfs_emit_at() when formatting
> >   the value to be returned to user space.
> 
> Took some digging to find enough information to convince me. Again, the
> commit message says that sysfs_emit() is safer, but that's a bad reason
> in this case because these cases are fine. The sprintf() calls that this
> replaces aren't unbound and we're not appending to an existing seq_buf,
> so nothing to worry on that front.
> 
> I think the better argument for broadly applying this is to specifically
> distinguish the sysfs sprintf() calls from others so that they can be
> auditioned better and perhaps help with the documentation[0].
> 
> Do you mind if I apply this with a reworded documentation?

I do not mind, go ahead with it.
Thank you!

> Thierry
> 
> [0]: https://lore.kernel.org/all/20200930115740.GA1611809@kroah.com/

-- 
With Best Regards,
Andy Shevchenko



  parent reply	other threads:[~2022-09-28 15:40 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-26 17:07 [PATCH v2 1/4] pwm: sysfs: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Andy Shevchenko
2022-08-26 17:07 ` [PATCH v2 2/4] pwm: sysfs: Return directly from the for-loop in PM callbacks Andy Shevchenko
2022-09-28 12:31   ` Thierry Reding
2022-09-28 13:43     ` Andy Shevchenko
2022-08-26 17:07 ` [PATCH v2 3/4] pwm: sysfs: Replace sprintf() with sysfs_emit() Andy Shevchenko
2022-09-28 12:28   ` Thierry Reding
2022-09-28 13:40     ` Andy Shevchenko
2022-09-28 13:58       ` Andy Shevchenko
2022-09-28 15:20         ` Thierry Reding
2022-09-28 15:21           ` Thierry Reding
2022-09-28 15:39           ` Andy Shevchenko [this message]
2022-08-26 17:07 ` [PATCH v2 4/4] pwm: sysfs: Utilize an array for polarity strings Andy Shevchenko
2022-08-28  2:07   ` Joe Perches
     [not found]     ` <CAHp75VfY5RgAju5ASvAp565oF6VmYYiuowNsPTGSm=+1iFJ98A@mail.gmail.com>
2022-08-28 13:46       ` Joe Perches
2022-08-28 17:40         ` Andy Shevchenko
2022-08-28 18:19           ` Joe Perches
2022-08-29  7:59             ` Andy Shevchenko
2022-09-28 12:15             ` Thierry Reding
2022-09-06 13:57 ` [PATCH v2 1/4] pwm: sysfs: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Andy Shevchenko
2022-09-28 12:31 ` Thierry Reding
2022-09-28 14:01   ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YzRqwUJeZjxCaDrF@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=u.kleine-koenig@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.