bootutil: fix downgrade prevention

Downgrade prevention check moved to secure both TEST
and PERMANENT upgrade modes. Downgrade can still be
performed during REVERT.

Signed-off-by: Michael Grand <m.grand@trustngo.tech>
This commit is contained in:
Michael Grand 2023-06-20 15:01:00 +02:00 committed by Jamie
parent 88b2865730
commit 99613c672f
1 changed files with 2 additions and 1 deletions

View File

@ -2130,13 +2130,14 @@ context_boot_go(struct boot_loader_state *state, struct boot_rsp *rsp)
break;
case BOOT_SWAP_TYPE_TEST:
/* fallthrough */
case BOOT_SWAP_TYPE_PERM:
if (check_downgrade_prevention(state) != 0) {
/* Downgrade prevented */
BOOT_SWAP_TYPE(state) = BOOT_SWAP_TYPE_NONE;
break;
}
/* fallthrough */
case BOOT_SWAP_TYPE_PERM: /* fallthrough */
case BOOT_SWAP_TYPE_REVERT:
rc = BOOT_HOOK_CALL(boot_perform_update_hook, BOOT_HOOK_REGULAR,
BOOT_CURR_IMG(state), &(BOOT_IMG(state, 1).hdr),