[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b38a439b2bdd1122805aa182da9a1802e673f53e.camel@perches.com>
Date: Mon, 20 Jul 2020 19:00:20 -0700
From: Joe Perches <joe@...ches.com>
To: Xiongfeng Wang <wangxiongfeng2@...wei.com>, minyard@....org
Cc: arnd@...db.de, gregkh@...uxfoundation.org,
openipmi-developer@...ts.sourceforge.net,
linux-kernel@...r.kernel.org, guohanjun@...wei.com
Subject: Re: [PATCH] ipmi/watchdog: add missing newlines when printing
parameters by sysfs
On Tue, 2020-07-21 at 09:20 +0800, Xiongfeng Wang wrote:
> On 2020/7/21 3:52, Corey Minyard wrote:
> > On Mon, Jul 20, 2020 at 10:03:25AM +0800, Xiongfeng Wang wrote:
> > > When I cat some ipmi_watchdog parameters by sysfs, it displays as
> > > follows. It's better to add a newline for easy reading.
[]
> > > diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c
[]
> > > @@ -232,12 +232,16 @@ static int set_param_str(const char *val, const struct kernel_param *kp)
> > > static int get_param_str(char *buffer, const struct kernel_param *kp)
> > > {
> > > action_fn fn = (action_fn) kp->arg;
> > > - int rv;
> > > + int rv, len;
> > >
> > > rv = fn(NULL, buffer);
> > > if (rv)
> > > return rv;
> > > - return strlen(buffer);
> > > +
> > > + len = strlen(buffer);
> > > + len += sprintf(buffer + len, "\n");
> >
> > sprintf is kind of overkill to stick a \n on the end of a line. How
> > about:
> >
> > buffer[len++] = '\n';
> >
> > Since you are returning the length, you shouldn't need to nil terminate
> > the string.
You never quite know for sure so I suggest making
the string null terminated just in case.
i.e.:
buffer[len++] = '\n';
buffer[len] = 0;
Powered by blists - more mailing lists