mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-21 18:14:48 +08:00
fdd932efae
strlcpy() reads the entire source buffer first. This read may exceed the destination size limit. This is both inefficient and can lead to linear read overflows if a source string is not NUL-terminated [1]. In an effort to remove strlcpy() completely [2], replace strlcpy() here with strscpy(). No return values were used, so direct replacement is safe. [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy [2] https://github.com/KSPP/linux/issues/89 Signed-off-by: Azeem Shaikh <azeemshaikh38@gmail.com> Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20230530162202.983558-1-azeemshaikh38@gmail.com
31 lines
782 B
C
31 lines
782 B
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
/*
|
|
* Procedures for creating, accessing and interpreting the device tree.
|
|
*
|
|
* Paul Mackerras August 1996.
|
|
* Copyright (C) 1996-2005 Paul Mackerras.
|
|
*
|
|
* Adapted for 64bit PowerPC by Dave Engebretsen and Peter Bergner.
|
|
* {engebret|bergner}@us.ibm.com
|
|
*/
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/string.h>
|
|
#include <linux/memblock.h>
|
|
#include <linux/of_fdt.h>
|
|
|
|
void __init early_init_devtree(void *params)
|
|
{
|
|
pr_debug(" -> early_init_devtree(%p)\n", params);
|
|
|
|
early_init_dt_scan(params);
|
|
if (!strlen(boot_command_line))
|
|
strscpy(boot_command_line, cmd_line, COMMAND_LINE_SIZE);
|
|
|
|
memblock_allow_resize();
|
|
|
|
pr_debug("Phys. mem: %lx\n", (unsigned long) memblock_phys_mem_size());
|
|
|
|
pr_debug(" <- early_init_devtree()\n");
|
|
}
|