diff --git a/boot/bootutil/src/bootutil_misc.c b/boot/bootutil/src/bootutil_misc.c index 87b863507..49b58b057 100644 --- a/boot/bootutil/src/bootutil_misc.c +++ b/boot/bootutil/src/bootutil_misc.c @@ -173,7 +173,7 @@ boot_status_off(const struct flash_area *fap) elem_sz = flash_area_align(fap); #if MCUBOOT_SWAP_USING_SCRATCH - if (fap->fa_id == FLASH_AREA_IMAGE_SCRATCH) { + if (flash_area_get_id(fap) == FLASH_AREA_IMAGE_SCRATCH) { off_from_end = boot_scratch_trailer_sz(elem_sz); } else { #endif diff --git a/boot/bootutil/src/loader.c b/boot/bootutil/src/loader.c index 807a566c6..a6423835c 100644 --- a/boot/bootutil/src/loader.c +++ b/boot/bootutil/src/loader.c @@ -1056,7 +1056,7 @@ boot_validate_slot(struct boot_loader_state *state, int slot, goto out; } - if (reset_value < pri_fa->fa_off || reset_value> (pri_fa->fa_off + pri_fa->fa_size)) { + if (reset_value < flash_area_get_off(pri_fa) || reset_value > (flash_area_get_off(pri_fa) + flash_area_get_size(pri_fa))) { BOOT_LOG_ERR("Reset address of image in secondary slot is not in the primary slot"); BOOT_LOG_ERR("Erasing image from secondary slot"); diff --git a/docs/release-notes.d/bootutil-sector.md b/docs/release-notes.d/bootutil-sector.md index be1186de0..7a907ddb0 100644 --- a/docs/release-notes.d/bootutil-sector.md +++ b/docs/release-notes.d/bootutil-sector.md @@ -1,3 +1,5 @@ +- bootutil: Removed manual mentions to `flash_area::fa_xyz`, + allowing for an opaque `flash_area` definition. - bootutil: Fixed issue with comparing sector sizes for compatibility, this now also checks against the number of usable sectors (which is the slot size minus the swap status and moved