linux/drivers/pnp
Justin Stitt eda1a74655 PNP: ACPI: replace deprecated strncpy() with strscpy()
strncpy() is deprecated for use on NUL-terminated destination strings
[1] and as such we should prefer more robust and less ambiguous string
interfaces.

We know dev->name should be NUL-terminated based on the presence of a
manual NUL-byte assignment.

NUL-padding is not required as dev is already zero-allocated which
renders any further NUL-byte assignments redundant:
dev = pnp_alloc_dev(&pnpacpi_protocol, num, pnpid); --->
  dev = kzalloc(sizeof(struct pnp_dev), GFP_KERNEL);

Considering the above, a suitable replacement is `strscpy` [2] due to
the fact that it guarantees NUL-termination on the destination buffer
without unnecessarily NUL-padding. This simplifies the code and makes
the intent/behavior more obvious.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
Link: https://github.com/KSPP/linux/issues/90
Signed-off-by: Justin Stitt <justinstitt@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-10-20 19:48:11 +02:00
..
isapnp proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
pnpacpi PNP: ACPI: replace deprecated strncpy() with strscpy() 2023-10-20 19:48:11 +02:00
pnpbios PNPBIOS: remove unused pnpid32_to_pnpid() declaration 2022-09-24 18:07:42 +02:00
base.h PNP: Remove pnp_alloc() 2021-05-17 16:54:01 +02:00
card.c Char / Misc driver updates for 5.14-rc1 2021-07-05 13:42:16 -07:00
core.c PNP: fix name memory leak in pnp_alloc_dev() 2022-11-22 20:37:21 +01:00
driver.c PNP: Do not disable devices on suspend when they cannot be re-enabled on resume 2022-11-25 19:36:52 +01:00
interface.c PNP: Remove pnp_alloc() 2021-05-17 16:54:01 +02:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
manager.c PNP: moved EXPORT_SYMBOL so that it immediately followed its function/variable 2021-06-24 15:55:23 +02:00
quirks.c PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00
resource.c PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h 2022-07-22 17:23:45 -05:00
support.c PNP: moved EXPORT_SYMBOL so that it immediately followed its function/variable 2021-06-24 15:55:23 +02:00
system.c PNP: system.c: unmark a comment as being kernel-doc 2021-10-05 15:56:03 +02:00