Skip to content

Commit 07f8230

Browse files
JustinStittkees
authored andcommitted
init: 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. data_page wants to be NUL-terminated and NUL-padded, use strscpy_pad to provide both of these. data_page no longer awkwardly relies on init_mount to perform its NUL-termination, although that sanity check is left unchanged. 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#90 Cc: <[email protected]> Signed-off-by: Justin Stitt <[email protected]> Reviewed-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Kees Cook <[email protected]>
1 parent 998b180 commit 07f8230

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

init/do_mounts.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,7 @@ static int __init do_mount_root(const char *name, const char *fs,
159159
if (!p)
160160
return -ENOMEM;
161161
data_page = page_address(p);
162-
/* zero-pad. init_mount() will make sure it's terminated */
163-
strncpy(data_page, data, PAGE_SIZE);
162+
strscpy_pad(data_page, data, PAGE_SIZE);
164163
}
165164

166165
ret = init_mount(name, "/root", fs, flags, data_page);

0 commit comments

Comments
 (0)