Re: [PATCH] platform: move from strlcpy with unused retval to strscpy
From: Andy Shevchenko
Date: Fri Aug 19 2022 - 02:23:29 EST
On Fri, Aug 19, 2022 at 12:06 AM Wolfram Sang
<wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> Follow the advice of the below link and prefer 'strscpy' in this
We refer to the functions like this: strscpy() (note no quote marks).
> subsystem. Conversion is 1:1 because the return value is not used.
> Generated by a coccinelle script.
I assume you are experimenting with coccinelle, so I have no objection
to the change, but in PDx86 we usually want to have one patch per
driver. Can you split?
You also may add
Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
to each of them.
> Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@xxxxxxxxxxxxxx/
> Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/platform/surface/surface3_power.c | 2 +-
> drivers/platform/x86/dell/dell-wmi-sysman/sysman.c | 2 +-
> drivers/platform/x86/intel/chtwc_int33fe.c | 6 +++---
> drivers/platform/x86/thinkpad_acpi.c | 4 ++--
> 4 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/platform/surface/surface3_power.c b/drivers/platform/surface/surface3_power.c
> index 444ec81ba02d..4c53d116d59b 100644
> --- a/drivers/platform/surface/surface3_power.c
> +++ b/drivers/platform/surface/surface3_power.c
> @@ -519,7 +519,7 @@ static int mshw0011_probe(struct i2c_client *client)
> i2c_set_clientdata(client, data);
>
> memset(&board_info, 0, sizeof(board_info));
> - strlcpy(board_info.type, "MSHW0011-bat0", I2C_NAME_SIZE);
> + strscpy(board_info.type, "MSHW0011-bat0", I2C_NAME_SIZE);
>
> bat0 = i2c_acpi_new_device(dev, 1, &board_info);
> if (IS_ERR(bat0))
> diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> index 636bdfa83284..0a6411a8a104 100644
> --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> +++ b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> @@ -270,7 +270,7 @@ void strlcpy_attr(char *dest, char *src)
> size_t len = strlen(src) + 1;
>
> if (len > 1 && len <= MAX_BUFF)
> - strlcpy(dest, src, len);
> + strscpy(dest, src, len);
>
> /*len can be zero because any property not-applicable to attribute can
> * be empty so check only for too long buffers and log error
> diff --git a/drivers/platform/x86/intel/chtwc_int33fe.c b/drivers/platform/x86/intel/chtwc_int33fe.c
> index c52ac23e2331..1ea989df513c 100644
> --- a/drivers/platform/x86/intel/chtwc_int33fe.c
> +++ b/drivers/platform/x86/intel/chtwc_int33fe.c
> @@ -270,7 +270,7 @@ cht_int33fe_register_max17047(struct device *dev, struct cht_int33fe_data *data)
> }
>
> memset(&board_info, 0, sizeof(board_info));
> - strlcpy(board_info.type, "max17047", I2C_NAME_SIZE);
> + strscpy(board_info.type, "max17047", I2C_NAME_SIZE);
> board_info.dev_name = "max17047";
> board_info.fwnode = fwnode;
> data->battery_fg = i2c_acpi_new_device(dev, 1, &board_info);
> @@ -361,7 +361,7 @@ static int cht_int33fe_typec_probe(struct platform_device *pdev)
> }
>
> memset(&board_info, 0, sizeof(board_info));
> - strlcpy(board_info.type, "typec_fusb302", I2C_NAME_SIZE);
> + strscpy(board_info.type, "typec_fusb302", I2C_NAME_SIZE);
> board_info.dev_name = "fusb302";
> board_info.fwnode = fwnode;
> board_info.irq = fusb302_irq;
> @@ -381,7 +381,7 @@ static int cht_int33fe_typec_probe(struct platform_device *pdev)
> memset(&board_info, 0, sizeof(board_info));
> board_info.dev_name = "pi3usb30532";
> board_info.fwnode = fwnode;
> - strlcpy(board_info.type, "pi3usb30532", I2C_NAME_SIZE);
> + strscpy(board_info.type, "pi3usb30532", I2C_NAME_SIZE);
>
> data->pi3usb30532 = i2c_acpi_new_device(dev, 3, &board_info);
> if (IS_ERR(data->pi3usb30532)) {
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index 22d4e8633e30..8dad0428a83c 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -7623,9 +7623,9 @@ static int __init volume_create_alsa_mixer(void)
> data = card->private_data;
> data->card = card;
>
> - strlcpy(card->driver, TPACPI_ALSA_DRVNAME,
> + strscpy(card->driver, TPACPI_ALSA_DRVNAME,
> sizeof(card->driver));
> - strlcpy(card->shortname, TPACPI_ALSA_SHRTNAME,
> + strscpy(card->shortname, TPACPI_ALSA_SHRTNAME,
> sizeof(card->shortname));
> snprintf(card->mixername, sizeof(card->mixername), "ThinkPad EC %s",
> (thinkpad_id.ec_version_str) ?
> --
> 2.35.1
>
--
With Best Regards,
Andy Shevchenko