[PATCH] fwu: Allow code to properly decode trial state

Michal Simek michal.simek at amd.com
Thu Jul 13 16:35:24 CEST 2023


Current code after capsule update (mtd write) is not changing active_index
in mdata to previous_active_index.
On the reboot this is shown but showing message
"Boot idx 1 is not matching active idx 0, changing active_idx"
which is changing active_idx and writing mdata to flash.

But when this message is visible it is not checking which state that images
are. If they have acceptance bit setup to yes everything is fine and valid
images are booted (doesn't mean the latest one).
But if acceptance bit is no and images are in trial state in_trial variable
is never setup. Which means that from new flashed image stable image can be
rewritten because in_trial is not setup properly.

Signed-off-by: Michal Simek <michal.simek at amd.com>
---

 lib/fwu_updates/fwu.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/fwu_updates/fwu.c b/lib/fwu_updates/fwu.c
index cd5c3b64773b..38b50cb7628c 100644
--- a/lib/fwu_updates/fwu.c
+++ b/lib/fwu_updates/fwu.c
@@ -666,8 +666,6 @@ static int fwu_boottime_checks(void *ctx, struct event *event)
 		ret = fwu_set_active_index(boot_idx);
 		if (!ret)
 			boottime_check = 1;
-
-		return 0;
 	}
 
 	if (efi_init_obj_list() != EFI_SUCCESS)
-- 
2.36.1



More information about the U-Boot mailing list