- rc = start_url_load(boot_task, "kernel image", image, &boot_task->image)
- || start_url_load(boot_task, "initrd", initrd, &boot_task->initrd)
- || start_url_load(boot_task, "dtb", dtb, &boot_task->dtb);
+ rc = start_url_load(boot_task, image_res)
+ || start_url_load(boot_task, initrd_res)
+ || start_url_load(boot_task, dtb_res);
+
+ if (boot_task->verify_signature) {
+ /* Generate names of associated signature files and load */
+ if (image) {
+ image_sig = get_signature_url(ctx, image);
+ tmp = add_boot_resource(boot_task,
+ _("kernel image signature"), image_sig,
+ &boot_task->local_image_signature);
+ rc |= start_url_load(boot_task, tmp);
+ }
+ if (initrd) {
+ initrd_sig = get_signature_url(ctx, initrd);
+ tmp = add_boot_resource(boot_task,
+ _("initrd signature"), initrd_sig,
+ &boot_task->local_initrd_signature);
+ rc |= start_url_load(boot_task, tmp);
+ }
+ if (dtb) {
+ dtb_sig = get_signature_url(ctx, dtb);
+ tmp = add_boot_resource(boot_task,
+ _("dtb signature"), dtb_sig,
+ &boot_task->local_dtb_signature);
+ rc |= start_url_load(boot_task, tmp);
+ }
+ }
+
+ if (boot_task->verify_signature || boot_task->decrypt_files) {
+ tmp = add_boot_resource(boot_task,
+ _("kernel command line signature"), cmdline_sig,
+ &boot_task->local_cmdline_signature);
+ rc |= start_url_load(boot_task, tmp);
+ }