Hi Corey, Thanks for your reply !
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. >> >> root@(none):/# cat /sys/module/ipmi_watchdog/parameters/action >> resetroot@(none):/# cat /sys/module/ipmi_watchdog/parameters/preaction >> pre_noneroot@(none):/# cat /sys/module/ipmi_watchdog/parameters/preop >> preop_noneroot@(none):/# > > Yeah, that's not consistent with other things displayed in the kernel. > >> >> Signed-off-by: Xiongfeng Wang <wangxiongfe...@huawei.com> >> --- >> drivers/char/ipmi/ipmi_watchdog.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/char/ipmi/ipmi_watchdog.c >> b/drivers/char/ipmi/ipmi_watchdog.c >> index 55986e1..3e05a1d 100644 >> --- 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. Thanks for your advice. I will change it in the next version. > > An unrelated question: Are you using any of the special functions of the > IPMI watchdog, like the pretimeout? I am not using any special functions of the IPMI watchdog. It's just that I cat the parameters below 'ipmi_watchdog' and find we can add a newline here. Thanks, Xiongfeng > > -corey > >> + >> + return len; >> } >> >> >> -- >> 1.7.12.4 >> > > . >