mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 03:11:11 -04:00
drivers/of: fdt: validate stdout-path properties before parsing them
early_init_dt_scan_chosen_stdout() fetches stdout-path and linux,stdout-path directly from the flat DT and immediately passes the result to strchrnul(). Flat DT properties are raw firmware-supplied byte sequences, and this path does not prove that either property is NUL-terminated within its declared bounds. Use fdt_stringlist_get() so malformed unterminated stdout-path properties are rejected before the local parser walks them as C strings. Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn> Link: https://patch.msgid.link/20260403143001.1-dt-fdt-stdout-pengpeng@iscas.ac.cn Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
committed by
Rob Herring (Arm)
parent
38fe537950
commit
bb04fcc89a
@@ -954,9 +954,9 @@ int __init early_init_dt_scan_chosen_stdout(void)
|
||||
if (offset < 0)
|
||||
return -ENOENT;
|
||||
|
||||
p = fdt_getprop(fdt, offset, "stdout-path", &l);
|
||||
p = fdt_stringlist_get(fdt, offset, "stdout-path", 0, &l);
|
||||
if (!p)
|
||||
p = fdt_getprop(fdt, offset, "linux,stdout-path", &l);
|
||||
p = fdt_stringlist_get(fdt, offset, "linux,stdout-path", 0, &l);
|
||||
if (!p || !l)
|
||||
return -ENOENT;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user