Skip to content

Commit

Permalink
crypto: qat - refactor deprecated strncpy
Browse files Browse the repository at this point in the history
commit 3102bbc ("crypto: qat - refactor deprecated strncpy") upstream

`strncpy` is deprecated for use on NUL-terminated destination strings [1].

We should prefer more robust and less ambiguous string interfaces.

`buf` is expected to be NUL-terminated for its eventual use in
`kstrtoul()` and NUL-padding is not required.

Due to the above, a suitable replacement is `strscpy` [2] due to the
fact that it guarantees NUL-termination on the destination buffer.

Intel-SIG: commit 3102bbc ("crypto: qat - refactor deprecated strncpy)"
Backport to support Intel QAT in-tree driver

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
Link: KSPP/linux#90
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
Acked-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
[ Aichun Shi: amend commit log ]
Signed-off-by: Aichun Shi <aichun.shi@intel.com>
  • Loading branch information
JustinStitt authored and Avenger-285714 committed Nov 4, 2024
1 parent 8e9972b commit c5ffbbb
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/crypto/intel/qat/qat_common/qat_uclo.c
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ static int qat_uclo_parse_num(char *str, unsigned int *num)
unsigned long ae = 0;
int i;

strncpy(buf, str, 15);
strscpy(buf, str, sizeof(buf));
for (i = 0; i < 16; i++) {
if (!isdigit(buf[i])) {
buf[i] = '\0';
Expand Down

0 comments on commit c5ffbbb

Please sign in to comment.