scsi: elx: libefc: Replace deprecated strncpy() with strscpy_pad()/memcpy()
authorJustin Stitt <justinstitt@google.com>
Thu, 26 Oct 2023 01:53:13 +0000 (01:53 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 15 Nov 2023 14:46:03 +0000 (09:46 -0500)
commit1057f44137c5484e402cc69d0ad9954e6cd7e029
tree1c2ece5cb277d2781d71abbef4b484d888d57af7
parent4592411784ccf83f873f98ba94aeae2482783c9a
scsi: elx: libefc: Replace deprecated strncpy() with strscpy_pad()/memcpy()

strncpy() is deprecated for use on NUL-terminated destination strings [1]
and as such we should prefer more robust and less ambiguous string
interfaces.

To keep node->current_state_name and node->prev_state_name NUL-padded and
NUL-terminated let's use strscpy_pad() as this implicitly provides both.

For the swap between the two, a simple memcpy() will suffice.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html
Link: https://github.com/KSPP/linux/issues/90
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20231026-strncpy-drivers-scsi-elx-libefc-efc_node-h-v2-1-5c083d0c13f4@google.com
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/elx/libefc/efc_node.h