kopia lustrzana https://github.com/espressif/esp-idf
bootloader: Do not obfuscate RAM if we are not doing image validation
No need to take this step if we are not doing image validation. The obfuscation only buys us a tiny bit of "security" anyways since the main parts of flash are memory mapped, too. This saves a little bit of wake-up time when waking up from deep sleep when the BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP option is set. Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>pull/3996/head
rodzic
1e32fa2cf7
commit
82984f0539
|
@ -225,7 +225,7 @@ static esp_err_t image_load(esp_image_load_mode_t mode, const esp_partition_pos_
|
|||
}
|
||||
|
||||
#ifdef BOOTLOADER_BUILD
|
||||
if (do_load) { // Need to deobfuscate RAM
|
||||
if (do_load && ram_obfs_value[0] != 0 && ram_obfs_value[1] != 0) { // Need to deobfuscate RAM
|
||||
for (int i = 0; i < data->image.segment_count; i++) {
|
||||
uint32_t load_addr = data->segments[i].load_addr;
|
||||
if (should_load(load_addr)) {
|
||||
|
@ -403,6 +403,12 @@ static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, ui
|
|||
return ESP_FAIL;
|
||||
}
|
||||
|
||||
if (checksum == NULL && sha_handle == NULL) {
|
||||
memcpy((void *)load_addr, data, data_len);
|
||||
bootloader_munmap(data);
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
#ifdef BOOTLOADER_BUILD
|
||||
// Set up the obfuscation value to use for loading
|
||||
while (ram_obfs_value[0] == 0 || ram_obfs_value[1] == 0) {
|
||||
|
|
Ładowanie…
Reference in New Issue