2022-11-27 23:04:25

by Paul Cercueil

[permalink] [raw]
Subject: of_reserved_mem_device_init() prints kernel memory in dmesg

Hi Christoph, Marek,

Here's what I get in dmesg on a 6.1-rc6 kernel:

OF: fdt: Reserved memory: reserved region for node
'video-memory@1f00000': base 0x01f00000, size 1 MiB
OF: reserved mem: initialized node video-memory@1f00000, compatible id
shared-dma-pool
ingenic-drm 13050000.lcd-controller: assigned reserved memory node
<garbage data...>

I would *think* it's because the name is obtained using fdt_get_name()
in fdt_scan_reserved_mem(), and the pointer becomes invalid as soon as
the FDT is freed (is it freed?).

Not sure how to fix that myself, I tried to kstrdup(uname) in
fdt_reserved_mem_save_node(), but it gives me a NULL pointer, probably
too early in the boot process?

Cheers,
-Paul