48446 Commits
Author SHA1 Message Date
morris b774170ff4 change(version): Update version to 5.5.5 v5.5.5 2026-07-16 17:47:07 +08:00
morris 78d6b6342e Merge branch 'refactor/jpeg_encoder_example_v5.5' into 'release/v5.5'
fix(jpeg): broken link in the example readme (v5.5)

See merge request espressif/esp-idf!50141
2026-07-16 17:45:49 +08:00
Jiang Jiang Jian cc5a3fbcb5 Merge branch 'feat/psram_enc_exempt_v5.5' into 'release/v5.5'
feat(esp_psram): add option to carve unencrypted PSRAM region (v5.5)

See merge request espressif/esp-idf!49931
2026-07-16 17:04:28 +08:00
Jiang Jiang Jian 378ecdbeb4 Merge branch 'change/change_regdma_malloc_caps_v5.5' into 'release/v5.5'
change(esp_hw_support): change regdma malloc caps to allow getting memory in the DMA pool (v5.5)

See merge request espressif/esp-idf!50256
2026-07-10 17:02:46 +08:00
wuzhenghui 31ce82f7d6 fix(esp_hw_support): update memory pointer checks for SPM support 2026-07-10 12:39:11 +08:00
wuzhenghui 1b3d83528b change(heap): reserve DMA pool with low priority MALLOC_CAP_DEFAULT caps 2026-07-09 17:33:25 +08:00
Mahavir Jain 10ca0dff2f Merge branch 'fix/esp_tee_heap_poison_v5.5' into 'release/v5.5'
fix(esp_tee): Prevent TEE from dispatching the REE heap poisoning callback (v5.5)

See merge request espressif/esp-idf!49912
2026-07-09 14:58:52 +05:30
Jiang Jiang Jian f9bb1be590 Merge branch 'feat/update_openthread_submodule_and_br_lib_20260624_v5.5' into 'release/v5.5'
feat(openthread): update openthread submodule (v5.5)

See merge request espressif/esp-idf!49975
2026-07-09 17:27:23 +08:00
Jiang Jiang Jian 5215699d57 Merge branch 'fix/enable_pvt_esp32c5_v5.5' into 'release/v5.5'
Revert "disable PVT feature for esp32c5"

See merge request espressif/esp-idf!50422
2026-07-09 17:04:01 +08:00
Ashish Sharma cecbc54c04 fix(esp_tee): fixes double panic when ESP-TEE panics 2026-07-09 11:59:23 +05:30
Ashish Sharma cdedde2fea fix(esp_tee): release SHA held by HMAC after crypto peripheral reset 2026-07-09 11:58:48 +05:30
Mahavir Jain 416d47ecdf Merge branch 'change/sbom_exclude_fixed_cves_v5.5' into 'release/v5.5'
change(sbom): exclude ESP-IDF CVEs already fixed on release/v5.5

See merge request espressif/esp-idf!50241
2026-07-09 11:56:17 +05:30
Laukik Hase 2ad7cb65c6 fix(esp_tee): Add additional input validation checks for TEE service calls 2026-07-09 11:56:01 +05:30
Laukik Hase cf817f6a65 fix(esp_tee): Avoid crypto peripherals reset with esp_restart() from REE
- Reset the crypto peripherals during TEE initialization
2026-07-09 11:56:01 +05:30
Laukik Hase d39a11ace7 fix(esp_tee): Prevent TEE from dispatching the REE heap poisoning callback 2026-07-09 11:56:00 +05:30
Mahavir Jain 9a38ec2bbc Merge branch 'fix/tls1_3_dynamic_buffer_server_crash_v5.5' into 'release/v5.5'
fix(mbedtls): fixes TLS1.3 server failing with dynamic buffer (v5.5)

See merge request espressif/esp-idf!50388
2026-07-09 11:49:47 +05:30
Mahavir Jain 2b8f65c1ed Merge branch 'fix/fix_psk_hint_key_null_dereference_v5.5' into 'release/v5.5'
Fix/fix psk hint key null dereference (v5.5)

See merge request espressif/esp-idf!50323
2026-07-09 11:48:32 +05:30
Mahavir Jain 1325767442 Merge branch 'fix/panic_spiram_xip_irom_drom_alignment_no_gap_v5.5' into 'release/v5.5'
Handle absent IROM/DROM alignment gap in SPIRAM-XIP memprot tests (v5.5)

See merge request espressif/esp-idf!50235
2026-07-09 11:47:12 +05:30
yanzihan@espressif.com aab94d3658 feat(pvt): change pvt timer target & limit 2026-07-09 12:07:32 +08:00
yanzihan@espressif.com aa4728bec4 feat(pvt): add pvt enable flag & change pvt limit & sleep adapt time 2026-07-09 11:54:15 +08:00
Jiang Jiang Jian 897cf407aa Merge branch 'bugfix/fix_offchan_rx_fail_when_spiram_enabled_v5.5' into 'release/v5.5'
fix(wifi): fixed the offchan tx fail when SPIRAM_TRY_ALLOCATE_WIFI_LWIP enabled (v5.5)

See merge request espressif/esp-idf!50205
2026-07-08 14:14:32 +08:00
morris 59c70f46e4 Merge branch 'fix/jpeg_over_size_v5.5' into 'release/v5.5'
fix(jpeg): Fix the jpeg size might exceed the buffer size (backport v5.5)

See merge request espressif/esp-idf!50029
2026-07-08 11:02:50 +08:00
morris 04664e5051 Merge branch 'bugfix/sdio_slave_buffer_size_limit_v5.5' into 'release/v5.5'
fix(sdio_slave): align buffer size checks with descriptor limits (v5.5)

See merge request espressif/esp-idf!49900
2026-07-08 11:01:51 +08:00
zhangyanjiao 736a161c21 fix(wifi): fixed the offchan tx fail when SPIRAM_TRY_ALLOCATE_WIFI_LWIP enabled 2026-07-07 15:22:08 +08:00
Jiang Jiang Jian e7145a10ce Merge branch 'backport/backport_some_wifi_changes_260701_v5.5' into 'release/v5.5'
backport/backport some wifi changes 260701 v5.5(backport v5.5)

See merge request espressif/esp-idf!50266
2026-07-07 15:17:00 +08:00
Jack 02d9e2d0c3 Revert "disable PVT feature for esp32c5"
This reverts commit bfb052dbac.
2026-07-06 20:25:47 +08:00
Xu Si Yu 351391127c feat(openthread): update thread-lib for upstream b678a4f6
* esp-openthread: thread_zigbee/esp-openthread@47428f1e8
* openthread: espressif/openthread@b678a4f63
* esp-idf: espressif/esp-idf@31f4ff2e5
2026-07-06 08:59:01 +00:00
Xu Si Yu 31f4ff2e59 feat(openthread): update openthread submodule 2026-07-06 16:41:20 +08:00
Ashish Sharma 28f3d0be4a fix(mbedtls): fixes TLS1.3 server failing with dynamic buffer 2026-07-06 15:18:48 +08:00
Ashish Sharma ce7abcf087 fix(esp-tls): guard against NULL PSK hint to prevent crash 2026-07-03 11:36:33 +08:00
yinqingzhao 6994f40dd0 fix(wifi): fix still performing active scan on unsupported channels 2026-07-01 20:27:50 +08:00
yinqingzhao 782bcdb897 fix(wifi): comment out functions from ld files 2026-07-01 20:19:28 +08:00
yinqingzhao c3500a0700 fix(wifi): fix cache access error in wifi interrupt with psram enabled 2026-07-01 20:17:33 +08:00
Frantisek Hrbata 289424f2d7 change(sbom): exclude ESP-IDF CVEs already fixed on release/v5.5
esp-idf-sbom reports five ESP-IDF CVEs against this branch because NVD
pins them to 5.5.4 -- the version release/v5.5 still reports until 5.5.5
is released -- even though the fixes are already merged here:

  - CVE-2026-45160  DHCP server OOB read (d51b107609)
  - CVE-2026-45328  ESP-TEE hardening against REE manipulation (b471faf803)
  - CVE-2026-45329  ESP-TEE service-call input validation (eebabaff2f, dcb758a30b)
  - CVE-2026-45541  esp_http_server WebSocket NULL dereference (00a2f7fbbb)
  - CVE-2026-45542  protocomm SRP6a heap overflow (71eb2dbe6a)

esp-idf-sbom merges this repository-local excluded_cves.yaml into its
exclusion list when scanning the tree, so these CVEs are reported as
excluded for this branch while the released v5.5.4 tag, which predates
this file, is still reported. Once version.cmake is bumped to 5.5.5 the
entries become no-ops (NVD does not list 5.5.5) and can be removed.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-07-01 08:38:01 +02:00
harshal.patil a847bb8439 fix(panic): handle absent IROM/DROM alignment gap in spiram-xip memprot tests
The spiram-xip IROM/DROM alignment tests assumed the XIP region always
leaves an alignment gap before the next MMU page: they executed into the
gap and expected an instruction access fault followed by a register dump.
When the section ends exactly on an MMU page boundary there is no gap - the
device prints "<IROM/DROM> alignment gap not added into heap" and returns,
the framework restarts cleanly (esp_restart_noos, no panic), and the test
timed out waiting for a register dump.
2026-07-01 11:00:16 +05:30
morris 494135ddeb doc(jpeg): fix broken link in the example readme 2026-06-30 13:53:12 +08:00
Xu Si Yu 8d1d263f10 fix(openthread): fix TREL peer discovery by selecting IPv6 from mDNS address list 2026-06-26 19:29:33 +08:00
Xu Si Yu 1e84a46843 fix(openthread): replace all malloc calls with calloc to avoid hidden uninitialized memory issues 2026-06-26 19:29:33 +08:00
C.S.M 3ed64d5c26 fix(jpeg): Fix the jpeg size might exceed the buffer size 2026-06-26 11:05:25 +08:00
morrisandCursor 52e73f3cd5 fix(sdio_slave): align buffer size checks with descriptor limits
Define per-target SDIO slave descriptor buffer limits in the LL layer and validate queued send buffers against the 4-byte aligned effective maximum. Update the public docs to describe the chip-dependent limit instead of hardcoding 4092 bytes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-25 11:39:41 +08:00
Mahavir Jain d8f79c427b docs(esp_psram): mirror carve-out review-feedback updates in zh_CN
Mirror the recent EN-side updates in the Chinese External RAM guide:

- Replace "PSRAM 顶部" with "PSRAM 上端(最高物理地址区)" to match the
  clarified wording on the EN side.
- Add the verification-helper pointer next to the heap_caps_malloc
  example so Chinese readers also learn about esp_psram_ptr_is_no_enc().

Also drop the :cpp:func: cross-reference for esp_psram_ptr_is_no_enc on
the EN side: esp_psram.h is not in any chip-specific Doxyfile, so
Sphinx/Breathe cannot resolve the reference. Use a plain inline code
literal instead, matching the existing reference style for
esp_psram_get_size and other esp_psram functions in the docs.
2026-06-23 14:56:41 +05:30
Mahavir Jain 6d51abfc4c docs(esp_psram): clarify carve-out location is at upper end of PSRAM
The previous wording "top of PSRAM" was ambiguous: the carve-out is
actually mapped at the highest physical addresses of PSRAM (after the
rodata, text, and main heap mappings). Update the Kconfig help text for
SPIRAM_ENC_EXEMPT and SPIRAM_ENC_EXEMPT_SIZE, the External RAM
documentation, and the internal layout comment to say "upper end of PSRAM
(highest physical addresses)" instead.
2026-06-23 14:56:41 +05:30
Mahavir Jain afdf1a5259 feat(esp_psram): add esp_psram_ptr_is_no_enc() helper
Drivers that allocate from the unencrypted PSRAM carve-out via
MALLOC_CAP_SPIRAM_NO_ENC currently have no way to verify after the fact
which pool a buffer came from. This is particularly relevant for callers
using heap_caps_malloc_prefer(MALLOC_CAP_SPIRAM_NO_ENC, MALLOC_CAP_SPIRAM),
where a silent fallback to encrypted PSRAM would still pass the typical
esp_ptr_external_ram() check.

Expose esp_psram_ptr_is_no_enc() in the public esp_psram.h header. It
performs a range check against the carve-out's virtual-address window and
returns false when PSRAM is not initialized or CONFIG_SPIRAM_ENC_EXEMPT is
disabled, so callers do not need to guard the call site with #if.

Also reference the helper from the External RAM documentation alongside
the heap_caps_malloc(MALLOC_CAP_SPIRAM_NO_ENC) usage example.
2026-06-23 14:56:40 +05:30
Mahavir Jain 656a5857eb fix(esp_psram): handle carve-out vaddr exhaustion and add region to self-test
If the virtual-address pool is exhausted when reserving the unencrypted
PSRAM carve-out (the warning at L388 may already have fired for the main
mapping), esp_mmu_map_reserve_block_with_caps() returns an error rather
than aborting. Convert the previous assert() into a logged fallback that
disables the carve-out for this boot, mirroring the SPIRAM_ENC_EXEMPT_SIZE
>= psram_available_size path.

Also extend esp_psram_extram_test() to run the standard memory test on
the carve-out region when CONFIG_SPIRAM_ENC_EXEMPT is enabled, so the
unencrypted mapping is exercised on startup like the other PSRAM regions.
2026-06-23 14:56:40 +05:30
harshal.patil 1fde0259fe change(esp_psram): Consider all PSRAM regions in PMP protection 2026-06-23 14:56:39 +05:30
Mahavir Jain ba69281a01 docs(esp_psram): document MALLOC_CAP_SPIRAM_NO_ENC carve-out
Extends the External RAM encryption section to describe
CONFIG_SPIRAM_ENC_EXEMPT and the MALLOC_CAP_SPIRAM_NO_ENC heap
capability, including a security warning and a typical DMA-alignment
use case. Mirrors the change in zh_CN.
2026-06-23 14:56:39 +05:30
Mahavir Jain 0044542811 feat(esp_psram): add option to carve unencrypted PSRAM region
Adds CONFIG_SPIRAM_ENC_EXEMPT, available on chips that support per-page
PSRAM encryption configuration (esp32c5, esp32c61, esp32p4). When
enabled, esp_psram carves CONFIG_SPIRAM_ENC_EXEMPT_SIZE off the top of
PSRAM and maps it via the new mmu_hal_map_region_no_enc() helper, which
writes MMU entries without the SENSITIVE bit. The region is registered
as a separate heap pool reachable only through the new
MALLOC_CAP_SPIRAM_NO_ENC capability bit, so default SPIRAM allocations
cannot accidentally land there.

PSRAM encryption imposes alignment constraints that some DMA engines
(e.g. 2D-DMA) cannot satisfy. This option lets such workloads place
their buffers in unencrypted PSRAM while keeping the rest of PSRAM
(and flash) encrypted. Default disabled; security implications are
documented in the Kconfig help text.
2026-06-23 14:56:38 +05:30
Jiang Jiang Jian 315e812d5b Merge branch 'bugfix/drop_broadcast_frag_frame_v5.5' into 'release/v5.5'
fix(esp_wifi): Drop broadcast fragmented frames (v5.5)

See merge request espressif/esp-idf!49860
2026-06-23 00:23:06 +08:00
Mahavir Jain b06730f92a Merge branch 'fix/fault-assert-volatile-survive_v5.5' into 'release/v5.5'
Make ESP_FAULT_ASSERT survive optimization (v5.5)

See merge request espressif/esp-idf!49820
2026-06-22 20:37:33 +05:30
Rahul Tank 9a308094f4 Merge branch 'feat/throughput_l2cap_coc_v5.5' into 'release/v5.5'
Added l2cap_coc example for throughput (v5.5)

See merge request espressif/esp-idf!49740
2026-06-22 19:40:38 +05:30