mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-29 18:27:20 +02:00
fix(memory-utils): Add _instruction_reserved_start/end to esp_psram_check_ptr_addr
Adds missing range check that can be used when SPIRAM_XIP_FROM_PSRAM is enabled.
This commit is contained in:
@ -66,6 +66,7 @@ extern uint8_t _rodata_reserved_end;
|
||||
#endif /* CONFIG_SPIRAM_RODATA */
|
||||
|
||||
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS
|
||||
extern uint8_t _instruction_reserved_start;
|
||||
extern uint8_t _instruction_reserved_end;
|
||||
#endif /* CONFIG_SPIRAM_FETCH_INSTRUCTIONS */
|
||||
|
||||
@ -483,6 +484,12 @@ bool IRAM_ATTR esp_psram_check_ptr_addr(const void *p)
|
||||
}
|
||||
#endif /* CONFIG_SPIRAM_FETCH_INSTRUCTIONS && SOC_MMU_DI_VADDR_SHARED */
|
||||
|
||||
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS
|
||||
if ((intptr_t)p >= (uint32_t)&_instruction_reserved_start && (intptr_t)p < (uint32_t)&_instruction_reserved_end) {
|
||||
return true;
|
||||
}
|
||||
#endif /* CONFIG_SPIRAM_FETCH_INSTRUCTIONS */
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user