Skip to content

Commit 9b9056a

Browse files
JustinStittkees
authored andcommitted
firmware: tegra: bpmp: Replace deprecated strncpy() with strscpy_pad()
`strncpy` is deprecated for use on NUL-terminated destination strings [1]. We should prefer more robust and less ambiguous string interfaces. It seems like the filename stored at `namevirt` is expected to be NUL-terminated. A suitable replacement is `strscpy_pad` due to the fact that it guarantees NUL-termination on the destination buffer whilst maintaining the NUL-padding behavior that strncpy provides. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1] Link: KSPP#90 Cc: [email protected] Signed-off-by: Justin Stitt <[email protected]> Reviewed-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/20230913-strncpy-drivers-firmware-tegra-bpmp-debugfs-c-v1-1-828b0a8914b5@google.com Signed-off-by: Kees Cook <[email protected]>
1 parent b545465 commit 9b9056a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/firmware/tegra/bpmp-debugfs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ static int debugfs_show(struct seq_file *m, void *p)
610610
}
611611

612612
len = strlen(filename);
613-
strncpy(namevirt, filename, namesize);
613+
strscpy_pad(namevirt, filename, namesize);
614614

615615
err = mrq_debugfs_read(bpmp, namephys, len, dataphys, datasize,
616616
&nbytes);
@@ -661,7 +661,7 @@ static ssize_t debugfs_store(struct file *file, const char __user *buf,
661661
}
662662

663663
len = strlen(filename);
664-
strncpy(namevirt, filename, namesize);
664+
strscpy_pad(namevirt, filename, namesize);
665665

666666
if (copy_from_user(datavirt, buf, count)) {
667667
err = -EFAULT;

0 commit comments

Comments
 (0)