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: [email protected]
Signed-off-by: Justin Stitt <[email protected]>
Acked-by: Giovanni Cabiddu <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
[ Aichun Shi: amend commit log ]
Signed-off-by: Aichun Shi <[email protected]>
  • Loading branch information
JustinStitt authored and Avenger-285714 committed Nov 4, 2024
1 parent ce3d4de commit 499b0d6
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 499b0d6

Please sign in to comment.