From: Angus Gratton Date: Wed, 26 Sep 2018 06:57:44 +0000 (+1000) Subject: bootloader: Don't enable secure boot or flash encryption for 3/4 Coding Scheme X-Git-Tag: v3.2-beta1~83^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ff33406e74240f0803ad7071196d7c9a4ba33381;p=esp-idf bootloader: Don't enable secure boot or flash encryption for 3/4 Coding Scheme --- diff --git a/components/bootloader_support/src/flash_encrypt.c b/components/bootloader_support/src/flash_encrypt.c index e04945daec..8768d5a6c7 100644 --- a/components/bootloader_support/src/flash_encrypt.c +++ b/components/bootloader_support/src/flash_encrypt.c @@ -63,6 +63,11 @@ esp_err_t esp_flash_encrypt_check_and_update(void) static esp_err_t initialise_flash_encryption(void) { + if (REG_READ(EFUSE_BLK0_RDATA6_REG) & EFUSE_CODING_SCHEME_M) { + ESP_LOGE(TAG, "Flash Encryption is currently not supported on hardware with 3/4 Coding Scheme (CODING_SCHEME efuse set)"); + return ESP_ERR_NOT_SUPPORTED; + } + /* Before first flash encryption pass, need to initialise key & crypto config */ /* Generate key */ diff --git a/components/bootloader_support/src/secure_boot.c b/components/bootloader_support/src/secure_boot.c index ef9744ffc8..6355bcd7c5 100644 --- a/components/bootloader_support/src/secure_boot.c +++ b/components/bootloader_support/src/secure_boot.c @@ -111,6 +111,11 @@ esp_err_t esp_secure_boot_permanently_enable(void) { return ESP_OK; } + if (REG_READ(EFUSE_BLK0_RDATA6_REG) & EFUSE_CODING_SCHEME_M) { + ESP_LOGE(TAG, "Secure Boot is currently not supported on hardware with 3/4 Coding Scheme (CODING_SCHEME efuse set)"); + return ESP_ERR_NOT_SUPPORTED; + } + err = esp_image_verify_bootloader(&image_len); if (err != ESP_OK) { ESP_LOGE(TAG, "bootloader image appears invalid! error %d", err);