Re: [PATCH 1/7] comedi: Convert snprintf() to scnprintf()

From: Jules Irenge
Date: Wed Sep 28 2022 - 14:51:29 EST


On Wed, Sep 28, 2022 at 04:45:53PM +0100, Ian Abbott wrote:
> On 27/09/2022 07:06, Greg KH wrote:
> > On Mon, Sep 26, 2022 at 07:37:37PM +0100, Jules Irenge wrote:
> > > Coccinnelle reports a warning
> > > Warning: Use scnprintf or sprintf
> > > Adding to that, there has been a slow migration from snprintf to scnprintf.
> > > This LWN article explains the rationale for this change
> > > https: //lwn.net/Articles/69419/
> > > Ie. snprintf() returns what *would* be the resulting length,
> > > while scnprintf() returns the actual length.
> > >
> > > Signed-off-by: Jules Irenge <jbi.octave@xxxxxxxxx>
> > > ---
> > > drivers/comedi/comedi_fops.c | 8 ++++----
> > > 1 file changed, 4 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/comedi/comedi_fops.c b/drivers/comedi/comedi_fops.c
> > > index 55a0cae04b8d..e8a0142d5894 100644
> > > --- a/drivers/comedi/comedi_fops.c
> > > +++ b/drivers/comedi/comedi_fops.c
> > > @@ -396,7 +396,7 @@ static ssize_t max_read_buffer_kb_show(struct device *csdev,
> > > mutex_unlock(&dev->mutex);
> > > comedi_dev_put(dev);
> > > - return snprintf(buf, PAGE_SIZE, "%u\n", size);
> > > + return scnprintf(buf, PAGE_SIZE, "%u\n", size);
> >
> > Ick, no, you should use sysfs_emit() if you really want to change these
> > functions to "do the right thing".
>
> There was a patch to do that by Xuezhi Zhang. It got to PATCH v4. I should
> have replied with a "Reviewed-By" tag, but I'd already done that for the
> earlier versions.
>
> https://lore.kernel.org/lkml/20220901013423.418464-1-zhangxuezhi3@xxxxxxxxx/
>
Great, it's good to know how to fix the warning anyway.

Thanks,
Jules