summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-05-02 10:20:39 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-05-06 09:02:12 +0800
commitb155a07583e33d51313b5747b961f5075e7465b2 (patch)
tree0893fa13162f0ded19f18e607419a96212cae1a2
parent100cb2cfc3ee4040ab969215e3cd8cc885f9efeb (diff)
downloadtalos-petitboot-b155a07583e33d51313b5747b961f5075e7465b2.tar.gz
talos-petitboot-b155a07583e33d51313b5747b961f5075e7465b2.zip
discover: detect unresolvable resources
We don't want to call NULL resolve_resource callbacks. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rw-r--r--discover/device-handler.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c
index d3274bc..b2922b7 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -149,8 +149,17 @@ static void context_commit(struct device_handler *handler,
discover_server_notify_boot_option_add(handler->server,
opt->option);
} else {
- list_add(&handler->unresolved_boot_options, &opt->list);
- talloc_steal(handler, opt);
+ if (!opt->source->resolve_resource) {
+ pb_log("parser %s gave us an unresolved "
+ "resource (%s), but no way to "
+ "resolve it\n",
+ opt->source->name, opt->option->id);
+ talloc_free(opt);
+ } else {
+ list_add(&handler->unresolved_boot_options,
+ &opt->list);
+ talloc_steal(handler, opt);
+ }
}
}
}
OpenPOWER on IntegriCloud