mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
fix(startup): flip the security configuration check order
For cases where the bootloader is not enabled with the security features ends up receiving an incorrect application with flash encryption enabled should not really program any security efuses. In the startup sequence, we first used to program the ROM DL mode configuration but now we check for the flash encryption related checks first. If the flash encryption related checks finds that flash encryption is not enabled on the device then it aborts the boot process. This is the case with `CONFIG_SECURE_FLASH_CHECK_ENC_EN_IN_APP` enabled. This would at-least ensure that accidental program of security enabled application does not really program any ROM DL mode efuses and there is chance to recover the device.
This commit is contained in:
parent
fbecb1e543
commit
be2c591129
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@ -355,6 +355,15 @@ static void do_core_init(void)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SECURE_FLASH_ENC_ENABLED
|
||||
esp_flash_encryption_init_checks();
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SECURE_BOOT) || defined(CONFIG_SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT)
|
||||
// Note: in some configs this may read flash, so placed after flash init
|
||||
esp_secure_boot_init_checks();
|
||||
#endif
|
||||
|
||||
#if CONFIG_SECURE_DISABLE_ROM_DL_MODE
|
||||
err = esp_efuse_disable_rom_download_mode();
|
||||
assert(err == ESP_OK && "Failed to disable ROM download mode");
|
||||
@ -369,15 +378,6 @@ static void do_core_init(void)
|
||||
esp_efuse_disable_basic_rom_console();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SECURE_FLASH_ENC_ENABLED
|
||||
esp_flash_encryption_init_checks();
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SECURE_BOOT) || defined(CONFIG_SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT)
|
||||
// Note: in some configs this may read flash, so placed after flash init
|
||||
esp_secure_boot_init_checks();
|
||||
#endif
|
||||
|
||||
#ifdef ROM_LOG_MODE
|
||||
esp_efuse_set_rom_log_scheme(ROM_LOG_MODE);
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user