Re: [PATCH] md: move from strlcpy with unused retval to strscpy

From: Song Liu
Date: Tue Aug 23 2022 - 15:11:08 EST


On Thu, Aug 18, 2022 at 2:00 PM Wolfram Sang
<wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> Follow the advice of the below link and prefer 'strscpy' in this
> subsystem. Conversion is 1:1 because the return value is not used.
> Generated by a coccinelle script.
>
> Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@xxxxxxxxxxxxxx/
> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>

Looks good to me.

Alasdair and Mike,

This patch touches both dm and md code. Would you like me to take it
via the md tree?

Thanks,
Song

> ---
> drivers/md/dm-ioctl.c | 4 ++--
> drivers/md/md.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
> index 98976aaa9db9..6148fb73ccb4 100644
> --- a/drivers/md/dm-ioctl.c
> +++ b/drivers/md/dm-ioctl.c
> @@ -921,9 +921,9 @@ static struct hash_cell *__find_device_hash_cell(struct dm_ioctl *param)
> * Sneakily write in both the name and the uuid
> * while we have the cell.
> */
> - strlcpy(param->name, hc->name, sizeof(param->name));
> + strscpy(param->name, hc->name, sizeof(param->name));
> if (hc->uuid)
> - strlcpy(param->uuid, hc->uuid, sizeof(param->uuid));
> + strscpy(param->uuid, hc->uuid, sizeof(param->uuid));
> else
> param->uuid[0] = '\0';
>
> diff --git a/drivers/md/md.c b/drivers/md/md.c
> index afaf36b2f6ab..4d019ac0a549 100644
> --- a/drivers/md/md.c
> +++ b/drivers/md/md.c
> @@ -5743,7 +5743,7 @@ static int add_named_array(const char *val, const struct kernel_param *kp)
> len--;
> if (len >= DISK_NAME_LEN)
> return -E2BIG;
> - strscpy(buf, val, len+1);
> + strscpy(buf, val, len + 1);
> if (strncmp(buf, "md_", 3) == 0)
> return md_alloc_and_put(0, buf);
> if (strncmp(buf, "md", 2) == 0 &&
> --
> 2.35.1
>