diff options
author | Furquan Shaikh <furquan@google.com> | 2019-04-11 15:13:25 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2019-04-24 16:23:51 +0000 |
commit | 4d99b270187ac8c297404e811c268bb3470f283e (patch) | |
tree | 0d6561898b3f9266bed2959a4126ad7e0617d1dc /util/sconfig/main.c | |
parent | 131134288be3d8851e7e4e7268fac8b9072ef83c (diff) | |
download | coreboot-4d99b270187ac8c297404e811c268bb3470f283e.tar.xz |
util/sconfig: Throw an error if override tree has no devices
If override tree does not have any device, then the chip info
structure in it cannot be associated with the correct device and ends
up being added as a standalone chip info structure without any device
actually using it. This change prevents this condition by throwing an
error during compilation.
BUG=b:130342895
Change-Id: I7b8bb6b3228030a465976ca32ce8ef63f41365dd
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32289
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'util/sconfig/main.c')
-rw-r--r-- | util/sconfig/main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/util/sconfig/main.c b/util/sconfig/main.c index 4ac935e7b1..5382f470fd 100644 --- a/util/sconfig/main.c +++ b/util/sconfig/main.c @@ -1316,6 +1316,11 @@ int main(int argc, char **argv) override_devtree = argv[OVERRIDE_DEVICEFILE_ARG]; parse_devicetree(override_devtree, &override_root_bus); + if (!dev_has_children(&override_root_dev)) { + fprintf(stderr, "ERROR: Override tree needs at least one device!\n"); + exit(1); + } + override_devicetree(&base_root_bus, &override_root_bus); } |