diff --git a/boot/bootutil/include/bootutil/enc_key.h b/boot/bootutil/include/bootutil/enc_key.h index 57ac2440c..84e05e72f 100644 --- a/boot/bootutil/include/bootutil/enc_key.h +++ b/boot/bootutil/include/bootutil/enc_key.h @@ -69,8 +69,7 @@ int boot_enc_set_key(struct enc_key_data *enc_state, uint8_t slot, int boot_enc_load(struct enc_key_data *enc_state, int slot, const struct image_header *hdr, const struct flash_area *fap, struct boot_status *bs); -bool boot_enc_valid(struct enc_key_data *enc_state, int image_index, - const struct flash_area *fap); +bool boot_enc_valid(struct enc_key_data *enc_state, int slot); void boot_encrypt(struct enc_key_data *enc_state, int slot, uint32_t off, uint32_t sz, uint32_t blk_off, uint8_t *buf); void boot_enc_zeroize(struct enc_key_data *enc_state); diff --git a/boot/bootutil/src/encrypted.c b/boot/bootutil/src/encrypted.c index f6f40f9d7..d094ea77b 100644 --- a/boot/bootutil/src/encrypted.c +++ b/boot/bootutil/src/encrypted.c @@ -682,19 +682,9 @@ boot_enc_load(struct enc_key_data *enc_state, int slot, } bool -boot_enc_valid(struct enc_key_data *enc_state, int image_index, - const struct flash_area *fap) +boot_enc_valid(struct enc_key_data *enc_state, int slot) { - int rc; - - rc = flash_area_id_to_multi_image_slot(image_index, flash_area_get_id(fap)); - if (rc < 0) { - /* can't get proper slot number - skip encryption, */ - /* postpone the error for a upper layer */ - return false; - } - - return enc_state[rc].valid; + return enc_state[slot].valid; } void diff --git a/boot/bootutil/src/image_validate.c b/boot/bootutil/src/image_validate.c index 239f369f0..5953658b0 100644 --- a/boot/bootutil/src/image_validate.c +++ b/boot/bootutil/src/image_validate.c @@ -96,7 +96,7 @@ bootutil_img_hash(struct enc_key_data *enc_state, int image_index, #ifdef MCUBOOT_ENC_IMAGES /* Encrypted images only exist in the secondary slot */ if (MUST_DECRYPT(fap, image_index, hdr) && - !boot_enc_valid(enc_state, image_index, fap)) { + !boot_enc_valid(enc_state, 1)) { return -1; } #endif