Re: [PATCH] printk: drop redundant devkmsg_log_str memsets

2018-01-22 Thread Sergey Senozhatsky
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

2018-01-22 Thread Petr Mladek
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

2018-01-19 Thread Sergey Senozhatsky
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

2018-01-19 Thread Steven Rostedt
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

2018-01-18 Thread Sergey Senozhatsky
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