Re: [PATCH] platform/surface: Replace deprecated strcpy in surface_button_add
From: Chen, Yu C
Date: Mon Jan 05 2026 - 08:08:57 EST
Hi Thorsten,
On 1/5/2026 8:18 PM, Thorsten Blum wrote:
strcpy() has been deprecated [1] because it performs no bounds checking
on the destination buffer, which can lead to buffer overflows. Replace
it with the safer strscpy(). No functional changes.
Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy [1]
Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
---
drivers/platform/surface/surfacepro3_button.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/platform/surface/surfacepro3_button.c b/drivers/platform/surface/surfacepro3_button.c
index 2755601f979c..d027a064a62d 100644
--- a/drivers/platform/surface/surfacepro3_button.c
+++ b/drivers/platform/surface/surfacepro3_button.c
@@ -10,6 +10,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
+#include <linux/string.h>
#include <linux/types.h>
#include <linux/input.h>
#include <linux/acpi.h>
@@ -211,7 +212,7 @@ static int surface_button_add(struct acpi_device *device)
}
name = acpi_device_name(device);
- strcpy(name, SURFACE_BUTTON_DEVICE_NAME);
+ strscpy(acpi_device_name(device), SURFACE_BUTTON_DEVICE_NAME);
Thanks for the fix, a minor question might be why we do not reuse
name by strscpy(name, SURFACE_BUTTON_DEVICE_NAME) ?
thanks,
Chenyu
snprintf(button->phys, sizeof(button->phys), "%s/buttons", hid);
input->name = name;