goto out;
        }
        drv_info->information_length = cpu_to_le32(data_len);
-       strncpy(drv_info->driver_signature, "Broadcom", sizeof(drv_info->driver_signature));
-       strncpy(drv_info->os_name, utsname()->sysname, sizeof(drv_info->os_name));
-       drv_info->os_name[sizeof(drv_info->os_name) - 1] = 0;
-       strncpy(drv_info->os_version, utsname()->release, sizeof(drv_info->os_version));
-       drv_info->os_version[sizeof(drv_info->os_version) - 1] = 0;
-       strncpy(drv_info->driver_name, MPI3MR_DRIVER_NAME, sizeof(drv_info->driver_name));
-       strncpy(drv_info->driver_version, MPI3MR_DRIVER_VERSION, sizeof(drv_info->driver_version));
-       strncpy(drv_info->driver_release_date, MPI3MR_DRIVER_RELDATE, sizeof(drv_info->driver_release_date));
+       strscpy(drv_info->driver_signature, "Broadcom", sizeof(drv_info->driver_signature));
+       strscpy(drv_info->os_name, utsname()->sysname, sizeof(drv_info->os_name));
+       strscpy(drv_info->os_version, utsname()->release, sizeof(drv_info->os_version));
+       strscpy(drv_info->driver_name, MPI3MR_DRIVER_NAME, sizeof(drv_info->driver_name));
+       strscpy(drv_info->driver_version, MPI3MR_DRIVER_VERSION, sizeof(drv_info->driver_version));
+       strscpy(drv_info->driver_release_date, MPI3MR_DRIVER_RELDATE,
+           sizeof(drv_info->driver_release_date));
        drv_info->driver_capabilities = 0;
        memcpy((u8 *)&mrioc->driver_info, (u8 *)drv_info,
            sizeof(mrioc->driver_info));