mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-17 10:26:09 +00:00
arm64/sysreg: Fix broken strncpy() -> strscpy() conversion
Mostafa reports that commit d232606773a0 ("arm64/sysreg: refactor deprecated strncpy") breaks our early command-line parsing because the original code is working on space-delimited substrings rather than NUL-terminated strings. Rather than simply reverting the broken conversion patch, replace the strscpy() with a simple memcpy() with an explicit NUL-termination of the result. Reported-by: Mostafa Saleh <smostafa@google.com> Tested-by: Mostafa Saleh <smostafa@google.com> Fixes: d232606773a0 ("arm64/sysreg: refactor deprecated strncpy") Signed-off-by: Justin Stitt <justinstitt@google.com> Link: https://lore.kernel.org/r/20230905-strncpy-arch-arm64-v4-1-bc4b14ddfaef@google.com Link: https://lore.kernel.org/r/20230831162227.2307863-1-smostafa@google.com Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
7625df9f4b
commit
ab41a97474
@ -262,9 +262,9 @@ static __init void __parse_cmdline(const char *cmdline, bool parse_aliases)
|
||||
if (!len)
|
||||
return;
|
||||
|
||||
len = strscpy(buf, cmdline, ARRAY_SIZE(buf));
|
||||
if (len == -E2BIG)
|
||||
len = ARRAY_SIZE(buf) - 1;
|
||||
len = min(len, ARRAY_SIZE(buf) - 1);
|
||||
memcpy(buf, cmdline, len);
|
||||
buf[len] = '\0';
|
||||
|
||||
if (strcmp(buf, "--") == 0)
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user