summaryrefslogtreecommitdiff
path: root/tests/trees.S
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-03-23 14:04:10 +1300
committerDavid Gibson <david@gibson.dropbear.id.au>2021-03-23 12:13:06 +1100
commita2def5479950d066dcf829b8c1a22874d0aea9a4 (patch)
tree4ea530cd876d5c50808de77128abd9e375b553f7 /tests/trees.S
parent4ca61f84dc210ae78376d992c1ce6ebe40ecb5be (diff)
downloaddevice-tree-compiler-a2def5479950d066dcf829b8c1a22874d0aea9a4.tar.gz
libfdt: Check that the root-node name is empty
The root node is supposed to have an empty name, but at present this is not checked. The behaviour of such a tree is not well defined. Most software rightly assumes that the root node is at offset 0 and does not check the name. This oddity was discovered as part of a security investigation into U-Boot verified boot. Add a check for this to fdt_check_full(). Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Arie Haenel <arie.haenel@intel.com> Reported-by: Julien Lenoir <julien.lenoir@intel.com> Message-Id: <20210323010410.3222701-2-sjg@chromium.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'tests/trees.S')
-rw-r--r--tests/trees.S15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/trees.S b/tests/trees.S
index e2380b7..95d599d 100644
--- a/tests/trees.S
+++ b/tests/trees.S
@@ -298,3 +298,18 @@ two_roots_strings_end:
two_roots_end:
+
+ /* root node with a non-empty name */
+ TREE_HDR(named_root)
+ EMPTY_RSVMAP(named_root)
+
+named_root_struct:
+ BEGIN_NODE("fake")
+ END_NODE
+ FDTLONG(FDT_END)
+named_root_struct_end:
+
+named_root_strings:
+named_root_strings_end:
+
+named_root_end: