Explorar el Código

efi_loader: Fix to set bootdev_root correctly if bootdev found

Fix find_boot_device() to set bootdev_root if it finds the
bootdev from BootNext. Currently it sets the bootdev_root only
when it finds bootdev from BootOrder.

Fixes: c74cd8bd08d1 ("efi_loader: capsule: add capsule_on_disk support")
Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Accked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Masami Hiramatsu hace 2 años
padre
commit
b0b1449b3b
Se han modificado 1 ficheros con 2 adiciones y 1 borrados
  1. 2 1
      lib/efi_loader/efi_capsule.c

+ 2 - 1
lib/efi_loader/efi_capsule.c

@@ -646,7 +646,7 @@ static efi_status_t find_boot_device(void)
 		ret = get_dp_device(boot_var16, &boot_dev);
 		if (ret == EFI_SUCCESS) {
 			if (device_is_present_and_system_part(boot_dev)) {
-				goto out;
+				goto found;
 			} else {
 				efi_free_pool(boot_dev);
 				boot_dev = NULL;
@@ -689,6 +689,7 @@ skip:
 		efi_free_pool(boot_dev);
 		boot_dev = NULL;
 	}
+found:
 	if (boot_dev) {
 		u16 *path_str;