lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJZ5v0gTXstnnFWi87ihxLx7u1HcNaKeUdBpE+2HyJ+40wLCbQ@mail.gmail.com>
Date: Mon, 14 Apr 2025 16:25:11 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Kevin Paul Reddy Janagari <kevinpaul468@...il.com>
Cc: robert.moore@...el.com, rafael.j.wysocki@...el.com, lenb@...nel.org, 
	linux-acpi@...r.kernel.org, acpica-devel@...ts.linux.dev, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] acpica: Removing deprecated strncpy()

On Mon, Apr 14, 2025 at 9:35 AM Kevin Paul Reddy Janagari
<kevinpaul468@...il.com> wrote:
>
> This patch suggests the replacement of strncpy with strscpy
> as per Documentation/process/deprecated.
> The strncpy() fails to guarantee NULL termination,
> The function adds zero pads which isn't really convenient for short strings
> as it may cause performance issues.
>
> strscpy() is a preferred replacement because
> it overcomes the limitations of strncpy mentioned above.
>
> Compile Tested

ACPICA material is primarily handled by the upstream ACPICA project on
GitHub, so  ACPICA changes should first be submitted to upstream ACPICA as
indicated on this list for many times, see for instance:

https://lore.kernel.org/linux-acpi/CAJZ5v0gUDxrAn4W+Rf3ifjrg8Z9ZzTTOZjPFSSN5488mPqzXeA@mail.gmail.com/

> Signed-off-by: Kevin Paul Reddy Janagari <kevinpaul468@...il.com>
> ---
>  drivers/acpi/acpica/exconvrt.c | 2 +-
>  drivers/acpi/acpica/tbfind.c   | 4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/acpica/exconvrt.c b/drivers/acpi/acpica/exconvrt.c
> index bb1be42daee1..648e68a31e1f 100644
> --- a/drivers/acpi/acpica/exconvrt.c
> +++ b/drivers/acpi/acpica/exconvrt.c
> @@ -226,7 +226,7 @@ acpi_ex_convert_to_buffer(union acpi_operand_object *obj_desc,
>                 /* Copy the string to the buffer */
>
>                 new_buf = return_desc->buffer.pointer;
> -               strncpy((char *)new_buf, (char *)obj_desc->string.pointer,
> +               strscpy((char *)new_buf, (char *)obj_desc->string.pointer,
>                         obj_desc->string.length);
>                 break;
>
> diff --git a/drivers/acpi/acpica/tbfind.c b/drivers/acpi/acpica/tbfind.c
> index 1c1b2e284bd9..5536d1755188 100644
> --- a/drivers/acpi/acpica/tbfind.c
> +++ b/drivers/acpi/acpica/tbfind.c
> @@ -57,8 +57,8 @@ acpi_tb_find_table(char *signature,
>
>         memset(&header, 0, sizeof(struct acpi_table_header));
>         ACPI_COPY_NAMESEG(header.signature, signature);
> -       strncpy(header.oem_id, oem_id, ACPI_OEM_ID_SIZE);
> -       strncpy(header.oem_table_id, oem_table_id, ACPI_OEM_TABLE_ID_SIZE);
> +       strscpy(header.oem_id, oem_id, ACPI_OEM_ID_SIZE);
> +       strscpy(header.oem_table_id, oem_table_id, ACPI_OEM_TABLE_ID_SIZE);
>
>         /* Search for the table */
>
> --
> 2.39.5
>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ