Hi,

On 10/07/2024 22:11, Julien Grall wrote:
Hi,

On 10/07/2024 12:22, Michal Orzel wrote:
Memory node probing is done as part of early_scan_node() that is called
for each node with depth >= 1 (root node is at depth 0). According to
Devicetree Specification v0.4, chapter 3.4, /memory node can only exists
as a top level node. However, Xen incorrectly considers all the nodes with
unit node name "memory" as RAM. This buggy behavior can result in a
failure if there are other nodes in the device tree (at depth >= 2) with
"memory" as unit node name. An example can be a "memory@xxx" node under
/reserved-memory. Fix it by introducing device_tree_is_memory_node() to
perform all the required checks to assess if a node is a proper /memory
node.

Fixes: 3e99c95ba1c8 ("arm, device tree: parse the DTB for RAM location and size")
Signed-off-by: Michal Orzel <[email protected]>
Reviewed-by: Luca Fancellu <[email protected]>
Tested-by: Luca Fancellu <[email protected]>

Reviewed-by: Julien Grall <[email protected]>

This is now committed.

Cheers,

--
Julien Grall


Reply via email to