]> granicus.if.org Git - esp-idf/commitdiff
remove secure boot test mode
authorhemal.gujarathi <hemal.gujarathi@espressif.com>
Thu, 23 May 2019 08:43:08 +0000 (14:13 +0530)
committerhemal.gujarathi <hemal.gujarathi@espressif.com>
Thu, 23 May 2019 08:43:08 +0000 (14:13 +0530)
components/bootloader/Kconfig.projbuild
components/bootloader_support/src/bootloader_utility.c
components/bootloader_support/src/esp32/secure_boot.c

index ba551e5928718fbe07fc0e37719d80cea475a547..ccc2f9bcd9ec299b94478846cf425b37ca24e14c 100644 (file)
@@ -505,16 +505,5 @@ menu "Security features"
 
                 Only set this option in testing environments.
 
-        config SECURE_BOOT_TEST_MODE
-            bool "Secure boot test mode: don't permanently set any eFuses"
-            depends on SECURE_BOOT_INSECURE
-            default N
-            help
-                If this option is set, all permanent secure boot changes (via eFuse) are disabled.
-
-                Log output will state changes which would be applied, but they will not be.
-
-                This option is for testing purposes only - it completely disables secure boot protection.
-
     endmenu  # Potentially Insecure
 endmenu  # Security features
index d3555318109ae16073fd5cd6756c8bacce6c41d3..60bb512e0e129a73851cd19712699f1e112d0c9a 100644 (file)
@@ -560,9 +560,10 @@ static void load_image(const esp_image_metadata_t* image_data)
     err = esp_secure_boot_permanently_enable();
     if (err != ESP_OK) {
         ESP_LOGE(TAG, "FAILED TO ENABLE SECURE BOOT (%d).", err);
-        /* Allow booting to continue, as the failure is probably
-           due to user-configured EFUSEs for testing...
+        /* Panic here as secure boot is not properly enabled
+           due to one of the reasons in above function
         */
+        abort();
     }
 #endif
 
index 5de905e3b76c5f319cad9e8a40b3525886ea9d72..48c850eea1d3808e3ebcb2d6b9b92b025b968b53 100644 (file)
@@ -99,11 +99,7 @@ static bool secure_boot_generate(uint32_t image_len){
 /* Burn values written to the efuse write registers */
 static inline void burn_efuses()
 {
-#ifdef CONFIG_SECURE_BOOT_TEST_MODE
-    ESP_LOGE(TAG, "SECURE BOOT TEST MODE. Not really burning any efuses! NOT SECURE");
-#else
     esp_efuse_burn_new_values();
-#endif
 }
 
 esp_err_t esp_secure_boot_generate_digest(void)
@@ -185,7 +181,6 @@ esp_err_t esp_secure_boot_permanently_enable(void)
         efuse_key_write_protected = true;
     }
 
-#ifndef CONFIG_SECURE_BOOT_TEST_MODE
     if (!efuse_key_read_protected) {
         ESP_LOGE(TAG, "Pre-loaded key is not read protected. Refusing to blow secure boot efuse.");
         return ESP_ERR_INVALID_STATE;
@@ -194,7 +189,6 @@ esp_err_t esp_secure_boot_permanently_enable(void)
         ESP_LOGE(TAG, "Pre-loaded key is not write protected. Refusing to blow secure boot efuse.");
         return ESP_ERR_INVALID_STATE;
     }
-#endif
 
     ESP_LOGI(TAG, "blowing secure boot efuse...");
     ESP_LOGD(TAG, "before updating, EFUSE_BLK0_RDATA6 %x", REG_READ(EFUSE_BLK0_RDATA6_REG));
@@ -223,11 +217,7 @@ esp_err_t esp_secure_boot_permanently_enable(void)
         ESP_LOGI(TAG, "secure boot is now enabled for bootloader image");
         return ESP_OK;
     } else {
-#ifdef CONFIG_SECURE_BOOT_TEST_MODE
-        ESP_LOGE(TAG, "secure boot not enabled due to test mode");
-#else
         ESP_LOGE(TAG, "secure boot not enabled for bootloader image, EFUSE_RD_ABS_DONE_0 is probably write protected!");
-#endif
         return ESP_ERR_INVALID_STATE;
     }
 }