diff mbox series

mm/kasan: switch from strlcpy to strscpy

Message ID 1613970647-23272-1-git-send-email-daizhiyuan@phytium.com.cn (mailing list archive)
State New, archived
Headers show
Series mm/kasan: switch from strlcpy to strscpy | expand

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!
diff mbox series

Patch

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. */