Re: [PATCH] printk: drop redundant devkmsg_log_str memsets
On (01/22/18 10:54), Petr Mladek wrote: > On Fri 2018-01-19 13:39:01, Sergey Senozhatsky wrote: > > We copy in null terminated strings "on" and "off", no > > need to zero out devkmsg_log_str in control_devkmsg(). > > > > Signed-off-by: Sergey Senozhatsky > > Great catch! > > Reviewed-by: Petr Mladek > > I have pushed this into for-4.16 branch in printk.git, see > https://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git/commit/?h=for-4.16&id=6fd78a1a99c9580da49ee8f951fdce9846256375 Thanks. -ss
Re: [PATCH] printk: drop redundant devkmsg_log_str memsets
On Fri 2018-01-19 13:39:01, Sergey Senozhatsky wrote: > We copy in null terminated strings "on" and "off", no > need to zero out devkmsg_log_str in control_devkmsg(). > > Signed-off-by: Sergey Senozhatsky Great catch! Reviewed-by: Petr Mladek I have pushed this into for-4.16 branch in printk.git, see https://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk.git/commit/?h=for-4.16&id=6fd78a1a99c9580da49ee8f951fdce9846256375 Best Regards, Petr
Re: [PATCH] printk: drop redundant devkmsg_log_str memsets
On (01/19/18 09:17), Steven Rostedt wrote: > Yep, and even the sysctl checks for the terminating nul string, so > there's no leaks of any kind. > > Tested by adding: printk.devkmsg=on and running: > > $ hexdump -C /proc/sys/kernel/printk_devkmsg > 6f 6e 0a |on.| > 0003 > > > Reviewed-by: Steven Rostedt (VMware) thanks. -ss
Re: [PATCH] printk: drop redundant devkmsg_log_str memsets
On Fri, 19 Jan 2018 13:39:01 +0900 Sergey Senozhatsky wrote: > We copy in null terminated strings "on" and "off", no > need to zero out devkmsg_log_str in control_devkmsg(). > > Signed-off-by: Sergey Senozhatsky > --- > kernel/printk/printk.c | 11 --- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > index d70927c384f3..9faddcfd3994 100644 > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -136,13 +136,10 @@ static int __init control_devkmsg(char *str) > /* >* Set sysctl string accordingly: >*/ > - if (devkmsg_log == DEVKMSG_LOG_MASK_ON) { > - memset(devkmsg_log_str, 0, DEVKMSG_STR_MAX_SIZE); > - strncpy(devkmsg_log_str, "on", 2); > - } else if (devkmsg_log == DEVKMSG_LOG_MASK_OFF) { > - memset(devkmsg_log_str, 0, DEVKMSG_STR_MAX_SIZE); > - strncpy(devkmsg_log_str, "off", 3); > - } > + if (devkmsg_log == DEVKMSG_LOG_MASK_ON) > + strcpy(devkmsg_log_str, "on"); > + else if (devkmsg_log == DEVKMSG_LOG_MASK_OFF) > + strcpy(devkmsg_log_str, "off"); > /* else "ratelimit" which is set by default. */ > > /* Yep, and even the sysctl checks for the terminating nul string, so there's no leaks of any kind. Tested by adding: printk.devkmsg=on and running: $ hexdump -C /proc/sys/kernel/printk_devkmsg 6f 6e 0a |on.| 0003 Reviewed-by: Steven Rostedt (VMware) -- Steve
[PATCH] printk: drop redundant devkmsg_log_str memsets
We copy in null terminated strings "on" and "off", no need to zero out devkmsg_log_str in control_devkmsg(). Signed-off-by: Sergey Senozhatsky --- kernel/printk/printk.c | 11 --- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index d70927c384f3..9faddcfd3994 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -136,13 +136,10 @@ static int __init control_devkmsg(char *str) /* * Set sysctl string accordingly: */ - if (devkmsg_log == DEVKMSG_LOG_MASK_ON) { - memset(devkmsg_log_str, 0, DEVKMSG_STR_MAX_SIZE); - strncpy(devkmsg_log_str, "on", 2); - } else if (devkmsg_log == DEVKMSG_LOG_MASK_OFF) { - memset(devkmsg_log_str, 0, DEVKMSG_STR_MAX_SIZE); - strncpy(devkmsg_log_str, "off", 3); - } + if (devkmsg_log == DEVKMSG_LOG_MASK_ON) + strcpy(devkmsg_log_str, "on"); + else if (devkmsg_log == DEVKMSG_LOG_MASK_OFF) + strcpy(devkmsg_log_str, "off"); /* else "ratelimit" which is set by default. */ /* -- 2.16.0