[linux-next] printk: use strscpy() to instead of strlcpy()

Message ID 202211301601416229001@zte.com.cn
State New
Headers
Series [linux-next] printk: use strscpy() to instead of strlcpy() |

Commit Message

Yang Yang Nov. 30, 2022, 8:01 a.m. UTC
  From: Xu Panda <xu.panda@zte.com.cn>

The implementation of strscpy() is more robust and safer.
That's now the recommended way to copy NUL terminated strings.

Signed-off-by: Xu Panda <xu.panda@zte.com.cn>
Signed-off-by: Yang Yang <yang.yang29@zte.com>
---
 kernel/printk/printk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

John Ogness Nov. 30, 2022, 9:11 a.m. UTC | #1
On 2022-11-30, <yang.yang29@zte.com.cn> wrote:
> From: Xu Panda <xu.panda@zte.com.cn>
>
> The implementation of strscpy() is more robust and safer.
> That's now the recommended way to copy NUL terminated strings.
>
> Signed-off-by: Xu Panda <xu.panda@zte.com.cn>
> Signed-off-by: Yang Yang <yang.yang29@zte.com>

This looks fine, but I am wondering if we should also replace all
strncpy() usage as well. AFAICT they can all be replaced. It would also
avoid the manual termination in console_setup().

John Ogness
  
Petr Mladek Nov. 30, 2022, 10:39 a.m. UTC | #2
On Wed 2022-11-30 16:01:41, yang.yang29@zte.com.cn wrote:
> From: Xu Panda <xu.panda@zte.com.cn>
> 
> The implementation of strscpy() is more robust and safer.
> That's now the recommended way to copy NUL terminated strings.
> 
> Signed-off-by: Xu Panda <xu.panda@zte.com.cn>
> Signed-off-by: Yang Yang <yang.yang29@zte.com>

Reviewed-by: Petr Mladek <pmladek@suse.com>

Best Regards,
Petr
  
Petr Mladek Nov. 30, 2022, 10:43 a.m. UTC | #3
On Wed 2022-11-30 10:17:07, John Ogness wrote:
> On 2022-11-30, <yang.yang29@zte.com.cn> wrote:
> > From: Xu Panda <xu.panda@zte.com.cn>
> >
> > The implementation of strscpy() is more robust and safer.
> > That's now the recommended way to copy NUL terminated strings.
> >
> > Signed-off-by: Xu Panda <xu.panda@zte.com.cn>
> > Signed-off-by: Yang Yang <yang.yang29@zte.com>
> 
> This looks fine, but I am wondering if we should also replace all
> strncpy() usage as well. AFAICT they can all be replaced. It would also
> avoid the manual termination in console_setup().

I agree that it would be nice to replace strncpy() as well.
But it might be done in a separate patch.

Yang, Xu, would you like to do it, please?

Best Regards,
Petr
  

Patch

diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 9ec101766471..7decf1e9c486 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2480,7 +2480,7 @@  static int __add_preferred_console(char *name, int idx, char *options,
 		return -E2BIG;
 	if (!brl_options)
 		preferred_console = i;
-	strlcpy(c->name, name, sizeof(c->name));
+	strscpy(c->name, name, sizeof(c->name));
 	c->options = options;
 	set_user_specified(c, user_specified);
 	braille_set_options(c, brl_options);