[PATCH] hwmon: (acpi_power_meter) Replace deprecated strcpy() with strscpy()

Szymon Wilczek posted 1 patch 1 month, 2 weeks ago
drivers/hwmon/acpi_power_meter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] hwmon: (acpi_power_meter) Replace deprecated strcpy() with strscpy()
Posted by Szymon Wilczek 1 month, 2 weeks ago
strcpy() performs no bounds checking on the destination buffer, which
could result in linear overflows beyond the end of the buffer. Although
the source strings here are compile-time constants that fit within the
destination buffers, using strscpy() is the preferred approach as it
provides bounds checking and aligns with the kernel's deprecated API
guidelines.

This change converts the remaining strcpy() calls to strscpy(), matching
the pattern already used throughout other ACPI drivers in
drivers/acpi/*.c.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy
Signed-off-by: Szymon Wilczek <szymonwilczek@gmx.com>
---
 drivers/hwmon/acpi_power_meter.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
index 29ccdc2fb7ff..cfb30c68bfc5 100644
--- a/drivers/hwmon/acpi_power_meter.c
+++ b/drivers/hwmon/acpi_power_meter.c
@@ -890,8 +890,8 @@ static int acpi_power_meter_add(struct acpi_device *device)
 	resource->sensors_valid = 0;
 	resource->acpi_dev = device;
 	mutex_init(&resource->lock);
-	strcpy(acpi_device_name(device), ACPI_POWER_METER_DEVICE_NAME);
-	strcpy(acpi_device_class(device), ACPI_POWER_METER_CLASS);
+	strscpy(acpi_device_name(device), ACPI_POWER_METER_DEVICE_NAME);
+	strscpy(acpi_device_class(device), ACPI_POWER_METER_CLASS);
 	device->driver_data = resource;
 
 #if IS_REACHABLE(CONFIG_ACPI_IPMI)
-- 
2.52.0
Re: [PATCH] hwmon: (acpi_power_meter) Replace deprecated strcpy() with strscpy()
Posted by Guenter Roeck 3 weeks, 5 days ago
On Sat, Dec 20, 2025 at 06:30:41PM +0100, Szymon Wilczek wrote:
> strcpy() performs no bounds checking on the destination buffer, which
> could result in linear overflows beyond the end of the buffer. Although
> the source strings here are compile-time constants that fit within the
> destination buffers, using strscpy() is the preferred approach as it
> provides bounds checking and aligns with the kernel's deprecated API
> guidelines.
> 
> This change converts the remaining strcpy() calls to strscpy(), matching
> the pattern already used throughout other ACPI drivers in
> drivers/acpi/*.c.
> 
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy
> Signed-off-by: Szymon Wilczek <szymonwilczek@gmx.com>
> Reviewed-by: lihuisong@huawei.com

Applied.

Thanks,
Guenter
Re: [PATCH] hwmon: (acpi_power_meter) Replace deprecated strcpy() with strscpy()
Posted by lihuisong (C) 1 month, 2 weeks ago
在 2025/12/21 1:30, Szymon Wilczek 写道:
> strcpy() performs no bounds checking on the destination buffer, which
> could result in linear overflows beyond the end of the buffer. Although
> the source strings here are compile-time constants that fit within the
> destination buffers, using strscpy() is the preferred approach as it
> provides bounds checking and aligns with the kernel's deprecated API
> guidelines.
>
> This change converts the remaining strcpy() calls to strscpy(), matching
> the pattern already used throughout other ACPI drivers in
> drivers/acpi/*.c.
>
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy
> Signed-off-by: Szymon Wilczek <szymonwilczek@gmx.com>
> ---
>   drivers/hwmon/acpi_power_meter.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
> index 29ccdc2fb7ff..cfb30c68bfc5 100644
> --- a/drivers/hwmon/acpi_power_meter.c
> +++ b/drivers/hwmon/acpi_power_meter.c
> @@ -890,8 +890,8 @@ static int acpi_power_meter_add(struct acpi_device *device)
>   	resource->sensors_valid = 0;
>   	resource->acpi_dev = device;
>   	mutex_init(&resource->lock);
> -	strcpy(acpi_device_name(device), ACPI_POWER_METER_DEVICE_NAME);
> -	strcpy(acpi_device_class(device), ACPI_POWER_METER_CLASS);
> +	strscpy(acpi_device_name(device), ACPI_POWER_METER_DEVICE_NAME);
> +	strscpy(acpi_device_class(device), ACPI_POWER_METER_CLASS);
>   	device->driver_data = resource;
>   
>   #if IS_REACHABLE(CONFIG_ACPI_IPMI)
LGTM,
Reviewed-by: lihuisong@huawei.com