[PATCH] ACPI / sysfs: Replace deprecated strcpy() with sysfs_emit

Brahmajit Das posted 1 patch 3 months, 2 weeks ago
drivers/acpi/sysfs.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH] ACPI / sysfs: Replace deprecated strcpy() with sysfs_emit
Posted by Brahmajit Das 3 months, 2 weeks ago
strcpy() is deprecated; use sysfs_emit() instead. No functional changes
intended.

Link: https://github.com/KSPP/linux/issues/88
Signed-off-by: Brahmajit Das <listout@listout.xyz>
---
 drivers/acpi/sysfs.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/sysfs.c b/drivers/acpi/sysfs.c
index a48ebbf768f9..7ce90998ab97 100644
--- a/drivers/acpi/sysfs.c
+++ b/drivers/acpi/sysfs.c
@@ -181,10 +181,9 @@ static int param_set_trace_method_name(const char *val,
 
 	/* This is a hack.  We can't kmalloc in early boot. */
 	if (is_abs_path)
-		strcpy(trace_method_name, val);
+		sysfs_emit(trace_method_name, "%s", val);
 	else {
-		trace_method_name[0] = '\\';
-		strcpy(trace_method_name+1, val);
+		sysfs_emit(trace_method_name, "\%s", val);
 	}
 
 	/* Restore the original tracer state */
-- 
2.50.0
Re: [PATCH] ACPI / sysfs: Replace deprecated strcpy() with sysfs_emit
Posted by Rafael J. Wysocki 3 months, 1 week ago
On Tue, Jun 24, 2025 at 4:21 PM Brahmajit Das <listout@listout.xyz> wrote:
>
> strcpy() is deprecated; use sysfs_emit() instead. No functional changes
> intended.

It may be deprecated, but is it used incorrectly in this particular case?

> Link: https://github.com/KSPP/linux/issues/88
> Signed-off-by: Brahmajit Das <listout@listout.xyz>
> ---
>  drivers/acpi/sysfs.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/sysfs.c b/drivers/acpi/sysfs.c
> index a48ebbf768f9..7ce90998ab97 100644
> --- a/drivers/acpi/sysfs.c
> +++ b/drivers/acpi/sysfs.c
> @@ -181,10 +181,9 @@ static int param_set_trace_method_name(const char *val,
>
>         /* This is a hack.  We can't kmalloc in early boot. */
>         if (is_abs_path)
> -               strcpy(trace_method_name, val);
> +               sysfs_emit(trace_method_name, "%s", val);
>         else {
> -               trace_method_name[0] = '\\';
> -               strcpy(trace_method_name+1, val);
> +               sysfs_emit(trace_method_name, "\%s", val);
>         }

The code does strlen() checks before this, I don't think that the
change is an improvement.

>
>         /* Restore the original tracer state */
> --