drivers/hwmon/acpi_power_meter.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
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
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
在 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
© 2016 - 2026 Red Hat, Inc.