scsi: mpi3mr: Replace deprecated strncpy() with assignments
authorJustin Stitt <justinstitt@google.com>
Tue, 5 Mar 2024 23:34:36 +0000 (23:34 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 10 Mar 2024 22:37:43 +0000 (18:37 -0400)
Really, there's no bug with the current code. Let's just ditch strncpy()
all together.

We can just copy the const strings instead of reserving room on the stack.

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
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Justin Stitt <justinstitt@google.com>
Link: https://lore.kernel.org/r/20240305-strncpy-drivers-scsi-mpi3mr-mpi3mr_fw-c-v3-1-5b78a13ff984@google.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_fw.c

index 528f19f782f2156d956a618eddb80e00f1faf728..da0710cdac1d875247e382c981ebfc0c487d5610 100644 (file)
@@ -3676,7 +3676,7 @@ static const struct {
  * mpi3mr_print_ioc_info - Display controller information
  * @mrioc: Adapter instance reference
  *
- * Display controller personalit, capability, supported
+ * Display controller personality, capability, supported
  * protocols etc.
  *
  * Return: Nothing
@@ -3685,20 +3685,20 @@ static void
 mpi3mr_print_ioc_info(struct mpi3mr_ioc *mrioc)
 {
        int i = 0, bytes_written = 0;
-       char personality[16];
+       const char *personality;
        char protocol[50] = {0};
        char capabilities[100] = {0};
        struct mpi3mr_compimg_ver *fwver = &mrioc->facts.fw_ver;
 
        switch (mrioc->facts.personality) {
        case MPI3_IOCFACTS_FLAGS_PERSONALITY_EHBA:
-               strncpy(personality, "Enhanced HBA", sizeof(personality));
+               personality = "Enhanced HBA";
                break;
        case MPI3_IOCFACTS_FLAGS_PERSONALITY_RAID_DDR:
-               strncpy(personality, "RAID", sizeof(personality));
+               personality = "RAID";
                break;
        default:
-               strncpy(personality, "Unknown", sizeof(personality));
+               personality = "Unknown";
                break;
        }