Browse Source

libfdt: overlay: Report a bad overlay for mismatching local fixups

The __local_fixups__ node as a structure that mimics the structure of the
main overlay part.

This means that if we have a child node somewhere in the local fixups
sub-tree and if that node is not present in the main tree, the overlay is
poorly formatted, and we should report it as such.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
main
Maxime Ripard 8 years ago committed by David Gibson
parent
commit
cabbaa972c
  1. 2
      libfdt/fdt_overlay.c

2
libfdt/fdt_overlay.c

@ -272,6 +272,8 @@ static int overlay_update_local_node_references(void *fdto, @@ -272,6 +272,8 @@ static int overlay_update_local_node_references(void *fdto,

tree_child = fdt_subnode_offset(fdto, tree_node,
fixup_child_name);
if (ret == -FDT_ERR_NOTFOUND)
return -FDT_ERR_BADOVERLAY;
if (tree_child < 0)
return tree_child;


Loading…
Cancel
Save