Re: [PATCH] scsi: csiostor: replace deprecated strncpy with strscpy

From: Kees Cook
Date: Tue Oct 24 2023 - 20:30:59 EST


On Mon, Oct 23, 2023 at 08:26:13PM +0000, Justin Stitt wrote:
> strncpy() is deprecated for use on NUL-terminated destination strings
> [1] and as such we should prefer more robust and less ambiguous string
> interfaces.
>
> `hw` is kzalloc'd just before this string assignment:
> | hw = kzalloc(sizeof(struct csio_hw), GFP_KERNEL);
>
> ... which means any NUL-padding is redundant.
>
> Since CSIO_DRV_VERSION is a small string literal (smaller than
> sizeof(dest)):
>
> ... there is functionally no change in this swap from strncpy() to
> strscpy(). Nonetheless, let's make the change for robustness' sake -- as
> it will ensure that drv_version is _always_ NUL-terminated.
>
> Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
> Link: https://github.com/KSPP/linux/issues/90
> Cc: linux-hardening@xxxxxxxxxxxxxxx
> Signed-off-by: Justin Stitt <justinstitt@xxxxxxxxxx>

Another direct replacement.

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

--
Kees Cook