[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <70f4a8b9-1410-a32d-dfaa-4cb5d3cade10@huawei.com>
Date: Tue, 21 Jul 2020 14:17:40 +0800
From: Xiongfeng Wang <wangxiongfeng2@...wei.com>
To: Joe Perches <joe@...ches.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 2020/7/21 10:00, Joe Perches wrote:
> 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;
>
Thanks for your advice. I will change it in the next version.
Thanks,
Xiongfeng
>
>
> .
>
Powered by blists - more mailing lists