mm/kasan: switch from strlcpy to strscpy
diff mbox series

Message ID 1613970647-23272-1-git-send-email-daizhiyuan@phytium.com.cn
State Accepted
Commit f76e0c41c0ac7f6ae614dd50ce3e983b974b87c1
Headers show
Series
  • mm/kasan: switch from strlcpy to strscpy
Related show

Commit Message

Zhiyuan Dai Feb. 22, 2021, 5:10 a.m. UTC
strlcpy is marked as deprecated in Documentation/process/deprecated.rst,
and there is no functional difference when the caller expects truncation
(when not checking the return value). strscpy is relatively better as it
also avoids scanning the whole source string.

Signed-off-by: Zhiyuan Dai <daizhiyuan@phytium.com.cn>
---
 mm/kasan/report_generic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexander Potapenko Feb. 22, 2021, 7:45 a.m. UTC | #1
On Mon, Feb 22, 2021 at 6:10 AM Zhiyuan Dai <daizhiyuan@phytium.com.cn> wrote:
>
> strlcpy is marked as deprecated in Documentation/process/deprecated.rst,
> and there is no functional difference when the caller expects truncation
> (when not checking the return value). strscpy is relatively better as it
> also avoids scanning the whole source string.

Looks like a good thing to do.

> Signed-off-by: Zhiyuan Dai <daizhiyuan@phytium.com.cn>
Acked-by: Alexander Potapenko <glider@google.com>

> ---
>  mm/kasan/report_generic.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/kasan/report_generic.c b/mm/kasan/report_generic.c
> index 8a9c889..fc7f7ad 100644
> --- a/mm/kasan/report_generic.c
> +++ b/mm/kasan/report_generic.c
> @@ -148,7 +148,7 @@ static bool __must_check tokenize_frame_descr(const char **frame_descr,
>                 }
>
>                 /* Copy token (+ 1 byte for '\0'). */
> -               strlcpy(token, *frame_descr, tok_len + 1);
> +               strscpy(token, *frame_descr, tok_len + 1);
>         }
>
>         /* Advance frame_descr past separator. */
> --
> 1.8.3.1
>
Andrey Konovalov Feb. 24, 2021, 3:36 p.m. UTC | #2
On Mon, Feb 22, 2021 at 8:45 AM Alexander Potapenko <glider@google.com> wrote:
>
> On Mon, Feb 22, 2021 at 6:10 AM Zhiyuan Dai <daizhiyuan@phytium.com.cn> wrote:
> >
> > strlcpy is marked as deprecated in Documentation/process/deprecated.rst,
> > and there is no functional difference when the caller expects truncation
> > (when not checking the return value). strscpy is relatively better as it
> > also avoids scanning the whole source string.
>
> Looks like a good thing to do.
>
> > Signed-off-by: Zhiyuan Dai <daizhiyuan@phytium.com.cn>
> Acked-by: Alexander Potapenko <glider@google.com>
>
> > ---
> >  mm/kasan/report_generic.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/mm/kasan/report_generic.c b/mm/kasan/report_generic.c
> > index 8a9c889..fc7f7ad 100644
> > --- a/mm/kasan/report_generic.c
> > +++ b/mm/kasan/report_generic.c
> > @@ -148,7 +148,7 @@ static bool __must_check tokenize_frame_descr(const char **frame_descr,
> >                 }
> >
> >                 /* Copy token (+ 1 byte for '\0'). */
> > -               strlcpy(token, *frame_descr, tok_len + 1);
> > +               strscpy(token, *frame_descr, tok_len + 1);
> >         }
> >
> >         /* Advance frame_descr past separator. */
> > --
> > 1.8.3.1
> >

Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>

Thanks!

Patch
diff mbox series

diff --git a/mm/kasan/report_generic.c b/mm/kasan/report_generic.c
index 8a9c889..fc7f7ad 100644
--- a/mm/kasan/report_generic.c
+++ b/mm/kasan/report_generic.c
@@ -148,7 +148,7 @@  static bool __must_check tokenize_frame_descr(const char **frame_descr,
 		}
 
 		/* Copy token (+ 1 byte for '\0'). */
-		strlcpy(token, *frame_descr, tok_len + 1);
+		strscpy(token, *frame_descr, tok_len + 1);
 	}
 
 	/* Advance frame_descr past separator. */