Skip to content

Commit 092b0be

Browse files
JustinStittkuba-moo
authored andcommitted
net: liquidio: replace deprecated strncpy with strscpy_pad
`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 `fw_type` must be NUL-terminated based on use here: | static bool fw_type_is_auto(void) | { | return strncmp(fw_type, LIO_FW_NAME_TYPE_AUTO, | sizeof(LIO_FW_NAME_TYPE_AUTO)) == 0; | } ...and here | module_param_string(fw_type, fw_type, sizeof(fw_type), 0444); Let's opt to NUL-pad the destination buffer as well so that we maintain the same exact behavior that `strncpy` provided here. A suitable replacement is `strscpy_pad` due to the fact that it guarantees both NUL-termination and NUL-padding on the destination buffer. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1] Link: KSPP/linux#90 Signed-off-by: Justin Stitt <justinstitt@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20231005-strncpy-drivers-net-ethernet-cavium-liquidio-lio_main-c-v1-1-663e3f1d8f99@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 52cdbea commit 092b0be

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/net/ethernet/cavium/liquidio/lio_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1689,7 +1689,7 @@ static int load_firmware(struct octeon_device *oct)
16891689

16901690
if (fw_type_is_auto()) {
16911691
tmp_fw_type = LIO_FW_NAME_TYPE_NIC;
1692-
strncpy(fw_type, tmp_fw_type, sizeof(fw_type));
1692+
strscpy_pad(fw_type, tmp_fw_type, sizeof(fw_type));
16931693
} else {
16941694
tmp_fw_type = fw_type;
16951695
}

0 commit comments

Comments
 (0)