[PATCH] discover/device-handler: Ignore options without kernel

Samuel Mendoza-Jonas sam at mendozajonas.com
Wed Jul 6 16:19:02 AEST 2016


All boot options must at least have a boot image; ignore any options
that do not before trying to resolve them.

Signed-off-by: Samuel Mendoza-Jonas <sam at mendozajonas.com>
---
 discover/device-handler.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/discover/device-handler.c b/discover/device-handler.c
index cd4e3ac..e230e76 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -1191,6 +1191,14 @@ void device_handler_discover_context_commit(struct device_handler *handler,
 	list_for_each_entry_safe(&ctx->boot_options, opt, tmp, list) {
 		list_remove(&opt->list);
 
+		/* All boot options need at least a kernel image */
+		if (!opt->boot_image || !opt->boot_image->url) {
+			pb_log("boot option %s is missing boot image, ignoring\n",
+				opt->option->id);
+			talloc_free(opt);
+			continue;
+		}
+
 		if (boot_option_resolve(opt, handler)) {
 			pb_log("boot option %s is resolved, "
 					"sending to clients\n",
-- 
2.9.0



More information about the Petitboot mailing list