Commit Graph

42863 Commits

Author SHA1 Message Date
Jiang Jiang Jian
37d29951af Merge branch 'fix/ble_mesh_added_gatt_err_rsp_v5.3' into 'release/v5.3'
fix(ble_mesh): align GATTS read/write response handling with ATT (5.3)

See merge request espressif/esp-idf!51460
2026-08-05 12:31:23 +08:00
Jiang Jiang Jian
bffa546626 Merge branch 'feat/bt_in_psram_v5.3' into 'release/v5.3'
feat(bluedroid): Add config to place btu and hci task stack in psram (v5.3)

See merge request espressif/esp-idf!51494
2026-08-05 12:30:48 +08:00
Jiang Jiang Jian
dab06cfd82 Merge branch 'fix/resolve_issues_reported_via_bbp_v5.3' into 'release/v5.3'
fix(openthread): fix null pointer deref, uninitialized struct, and unbounded strcpy in spinel/RCP code (v5.3)

See merge request espressif/esp-idf!51372
2026-08-05 12:27:24 +08:00
Jiang Jiang Jian
2bb1b8da01 Merge branch 'backport/lp_spi_fix_inline_v5.3' into 'release/v5.3'
fix(ulp/lp_spi): fix stale data in driver (v5.3)

See merge request espressif/esp-idf!51313
2026-08-05 12:25:54 +08:00
Jiang Jiang Jian
cd40df27b5 Merge branch 'contrib/github_pr_18829_v5.3' into 'release/v5.3'
fix(spiffs): fix off-by-one in spiffsgen.py obj name length check (GitHub PR) (v5.3)

See merge request espressif/esp-idf!50918
2026-08-05 12:24:40 +08:00
Jiang Jiang Jian
b6663b0048 Merge branch 'contrib/github_pr_18822_v5.3' into 'release/v5.3'
fix(esp_partition): prevent size_t overflow bypassing bounds checks on linux target (GitHub PR) (v5.3)

See merge request espressif/esp-idf!50911
2026-08-05 12:24:11 +08:00
Jiang Jiang Jian
d8625e533b Merge branch 'test/idf-additions-coverage_v5.3' into 'release/v5.3'
test(freertos): expand IDF additions test coverage (v5.3)

See merge request espressif/esp-idf!50823
2026-08-05 12:23:47 +08:00
Jiang Jiang Jian
af856ce88a Merge branch 'contrib/github_pr_18817_v5.3' into 'release/v5.3'
fix(wear_levelling): guard WL_Flash::write()/read() against size==0 underflow (GitHub PR) (v5.3)

See merge request espressif/esp-idf!50734
2026-08-05 12:23:17 +08:00
Jiang Jiang Jian
67c0585a7e Merge branch 'contrib/github_pr_18823_v5.3' into 'release/v5.3'
fix(vfs): use MAX_FDS instead of VFS_MAX_COUNT when clearing fd table on unregister (GitHub PR) (v5.3)

See merge request espressif/esp-idf!50701
2026-08-05 12:22:09 +08:00
Jiang Jiang Jian
1c1ec601f4 Merge branch 'fix/fatfs_vulnerabilities_v5.3' into 'release/v5.3'
fix(fatfs): harden against runZero 2026 FatFs bugs (v5.3)

See merge request espressif/esp-idf!50428
2026-08-05 12:21:47 +08:00
Jiang Jiang Jian
979bdfd2a9 Merge branch 'bugfix/nan_vulnerabilities_v5.3' into 'release/v5.3'
fix(nan): Fix bug bounty reported and discovered vulnerabilities in NAN Rx (Backport v5.3)

See merge request espressif/esp-idf!51395
2026-08-05 10:49:24 +08:00
Jiang Jiang Jian
045dd779fd Merge branch 'fix/rtc_retain_mem_sb_fast_wakeup_ptr_v5.3' into 'release/v5.3'
fix(bootloader_support): fix RTC retain mem offset for secure boot fast wakeup (v5.3)

See merge request espressif/esp-idf!51270
2026-08-04 20:21:45 +08:00
Island
b31538482f Merge branch 'fix/ble_log_compression_add_local_header_file_v5.3' into 'release/v5.3'
feat(ble_log): mirror local compression headers (5.3)

See merge request espressif/esp-idf!50949
2026-08-04 19:48:16 +08:00
Euripedes Rocha
aa2db50878 Merge branch 'fix/esp_netif-oom-null-checks-v5.5_v5.3' into 'release/v5.3'
fix(esp_netif): harden NULL and OOM handling in netif APIs (SEC-1189, SEC-1190) (v5.3)

See merge request espressif/esp-idf!50785
2026-08-04 12:34:24 +02:00
Euripedes Rocha Filho
5bed70f8d4 fix(esp_netif): harden NULL and OOM handling in netif APIs
Use a temporary pointer for br_glue port-list realloc so a failure does
not clobber the existing array. Reject NULL mac in esp_netif_set_mac and
validate config->base in esp_netif_new_api before use.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 08:56:45 +02:00
hejiaxin
91c3b74df1 feat(bluedroid): Add config to place btu and hci task stack in psram
- Also adjust the osi_thread_stop implementation.
2026-08-04 14:56:14 +08:00
Rahul Tank
9febc03831 Merge branch 'bugfix/add_nimble_cve_v5.3' into 'release/v5.3'
fix(nimble): Fixes for various NimBLE CVEs (v5.3)

See merge request espressif/esp-idf!51204
2026-08-04 12:17:23 +05:30
Wang Meng Yang
f0407c5a38 Merge branch 'fix/aireview_critical_v5.3' into 'release/v5.3'
fix: Fix some critical bugs in classic bt (v5.3)

See merge request espressif/esp-idf!51292
2026-08-04 14:15:49 +08:00
Wang Meng Yang
b723d09933 Merge branch 'fix/bluedroid_aireview_v5.3' into 'release/v5.3'
Fix/bluedroid aireview (v5.3)

See merge request espressif/esp-idf!51297
2026-08-04 14:12:13 +08:00
Euripedes Rocha
978e82ed9d Merge branch 'fix/sec-1129-l2tap-close-rollback_v5.3' into 'release/v5.3'
fix(esp_netif): roll back l2tap_close on semaphore/task create failure (SEC-1129) (v5.3)

See merge request espressif/esp-idf!51402
2026-08-04 07:00:21 +02:00
Luo Xu
d6eed489b0 feat(ble_log): mirror local compression headers
(cherry picked from commit ee732a4591)

Co-authored-by: luoxu <luoxu@espressif.com>
2026-08-04 11:57:57 +08:00
Rahul Tank
9a36f17232 fix(nimble): Fixes for various NimBLE CVEs 2026-08-03 23:49:23 +05:30
Euripedes Rocha Filho
f5607d1737 fix(esp_netif): Avoid socket to stay in closing state in l2tap closing 2026-08-03 16:18:11 +02:00
Luo Xu
2d378a5563 fix(ble_mesh): align GATTS read/write response handling with ATT
bt_mesh_bta_gatts_cb did not always answer ATT Read/Write Requests:
- READ: on a callback error it only logged a warning and sent nothing; a
  0-byte read (Read Blob at an offset equal to the value length) also sent
  nothing, although it is a successful empty read.
- WRITE: on a callback error it sent nothing, and a partial/zero write was
  treated as success.
- Both: when the handle was not found or the attribute had no read/write
  callback, the request was silently dropped.

An ATT Request must always be answered:

- READ: len >= 0 is success -> Read Response (a 0-byte read yields an empty
  value); len < 0 -> ATT Error Response carrying the callback's error code
  (-len, since BLE_MESH_GATT_ERR(x) == -x). The copy length is clamped to
  the source buffer size as a defensive bound. If the handle is unknown or
  the attribute has no read callback, respond with INVALID_HANDLE /
  READ_NOT_PERMITTED.
- WRITE: when need_rsp is set, always reply. len == write length -> Write
  Response; otherwise (negative ATT error, partial write, or 0) -> ATT
  Error Response (the negative code, or UNLIKELY for partial/0). If the
  handle is unknown or the attribute has no write callback, respond with
  INVALID_HANDLE / WRITE_NOT_PERMITTED. Write Without Response still sends
  no response.

A non-success status passed to BTA_GATTS_SendRsp is turned into an ATT
Error Response by the GATT layer (gatt_sr_process_app_rsp ->
gatt_send_error_rsp).


(cherry picked from commit ed1f4de3a3)

Co-authored-by: luoxu <luoxu@espressif.com>
2026-08-03 21:43:35 +08:00
Island
5a4288e8ff Merge branch 'fix/ble_log_compression_issue_on_windows_v5.3' into 'release/v5.3'
fix(bt): fix BLE log compression build on Windows (5.3)

See merge request espressif/esp-idf!51243
2026-08-03 11:31:23 +08:00
Island
b01be03a5a Merge branch 'feat/update_mesh_lib_to_supported_get_lib_ver_v5.3' into 'release/v5.3'
Feat/update mesh lib to supported get lib ver (5.3)

See merge request espressif/esp-idf!51170
2026-08-03 11:30:38 +08:00
Martin Vychodil
e0f8e5fcce Merge branch 'bugfix/idfci-12815-12072-timeout_v5.3' into 'release/v5.3'
fix(storage): mark storage pytest apps flaky in CI (v5.3)

See merge request espressif/esp-idf!51339
2026-08-02 16:40:32 +08:00
sonika.rathi
ada0e3e116 fix(storage): mark storage pytest apps flaky in CI 2026-07-31 08:57:28 +02:00
Akshat Agrawal
720ccfdc7e fix(nan): Fix bug bounty reported and discovered vulnerabilities in NAN Rx 2026-07-31 12:07:12 +05:30
harshal.patil
639e80169d refactor(esp_system): deduplicate ROM fast wake RTC digest reservation
The digest length and the condition that reserves it at the end of RTC RAM were
duplicated in seven places. Hold the reservation in a hidden Kconfig value that
is zero when the feature does not apply, so every consumer subtracts it
unconditionally, and derive ESP_SECURE_BOOT_DIGEST_LEN from it.
2026-07-31 11:23:26 +08:00
Island
3a52ac47a4 Merge branch 'fix/fix_some_ble_sleep_issues_v5.3' into 'release/v5.3'
Fix/fix some ble sleep issues (5.3)

See merge request espressif/esp-idf!51316
2026-07-31 11:10:32 +08:00
Rahul Tank
dc5e862c52 Merge branch 'bugfix/fix_pawr_conn_event_v5.3' into 'release/v5.3'
fix(nimble):  Deliver PAwR peripheral CONNECT via sync callback (v5.3)

See merge request espressif/esp-idf!51256
2026-07-30 20:39:02 +05:30
Rahul Tank
1f314eff3e fix(nimble): Deliver PAwR peripheral CONNECT via sync callback 2026-07-30 16:35:02 +05:30
zwx
4c9be53120 fix(openthread): fix null pointer deref, uninitialized struct, and unbounded strcpy in spinel/RCP code 2026-07-30 18:59:31 +08:00
hejiaxin
5b5e80c12a fix(bt_stack): Fix some critical bugs in classic_bt stack
related: obex, smp, pbap, sdp, rfcomm, stack_dm

- Deinit function doesn't delete connection when OBEX_DYNAMIC_MEMORY is on
- Union tGOEPC_DATA sometimes is free by osi_free in some cases when it contains mtu_id
- Add correct free and return solution after fail
- Fix symbol mistake in mod calculation
- Fix pointer-related UAF problems and memory free problems
- Fix buffer overflows and out-of-bounds access
- Fix infinite loops triggered by integer overflow wraparound
- Fix double free
- Change layer_specific usage to avoid heap overflow
- Add some NULL check for pointers
- Fix sdp_db free function
- Fix state table mismatch
2026-07-30 17:44:37 +08:00
Jiang Jiang Jian
df8ad67949 Merge branch 'bugfix/fix_espnow_data_rate_error_v5.3' into 'release/v5.3'
fix(wifi): fixed espnow data rate overridden by stale rate control (v5.3)

See merge request espressif/esp-idf!51305
2026-07-30 11:52:57 +08:00
cjin
a509360467 feat(ble): added CONFIG_PM_SLP_IRAM_OPT to make sure cache error check 2026-07-30 10:20:00 +08:00
Island
7a1c86344a Merge branch 'change/ble_update_lib_20260717_v5.3' into 'release/v5.3'
change(ble): [AUTO_MR] 20260717 - Update ESP BLE Controller Lib (5.3)

See merge request espressif/esp-idf!50929
2026-07-30 10:08:02 +08:00
Sudeep Mohanty
d1d95b3255 test(ulp/lp_spi): improve test stability and add cleanup
Reset the LP SPI peripheral and GPIOs before and after every SPI case so
each test starts from a known-clean baseline, and gate the master on an
explicit slave-armed handshake so the master cannot clock the bus while
the slave is still in its arm prologue. Verify received data against the
expected pattern with bounded waits instead of merely logging it.

Add a dedicated LP SPI multi-device pytest for esp32p4 that runs the
retagged lp_core_spi cases, and tag the LP I2C case accordingly.
2026-07-29 15:34:54 +02:00
Sudeep Mohanty
4c95edacc7 fix(ulp/lp_spi): fix driver bugs and add bus deinit API
The LP SPI driver read and wrote the W0..W15 data buffer registers a
whole 32-bit word at a time, which overran the caller's buffer for
transfers whose length was not a multiple of four bytes and corrupted
the received data. Read and write the data buffer byte-granularly so
sub-word transfers no longer alias adjacent bytes.

The master transfer also programmed the shared bit-length register from
tx_length alone, truncating receive-longer-than-transmit transactions,
and always enabled MOSI even on read-only transfers, clocking out stale
buffer contents. Size each hardware transaction by max(tx_length,
rx_length) and gate MOSI/MISO on the corresponding buffer.

The slave path reused the master's single-shot flow, so it re-triggered
reg_update after preload (clocking out the previous transaction's data)
and offered no way for the caller to publish readiness before the master
started the clock. Split the slave transfer into an arm step that
preloads the buffer and starts the user phase, and a wait step that
blocks on TRANS_DONE and drains only the bytes the master actually
clocked in, tracked in software since reg_usr is not a reliable busy
indicator in slave mode.

Set the LP IO direction for the SPI pads, add
lp_core_lp_spi_bus_deinit() to release the LP GPIO pins, and reset the
LP SPI peripheral at bus initialization so a stale configuration from a
previous run cannot leak into the next.
2026-07-29 15:34:29 +02:00
morris
50967d2dfd Merge branch 'feat/sec_esp_drivers_v5.3' into 'release/v5.3'
fix(drivers): harden multiple peripheral drivers against local DoS and memory corruption (v5.3)

See merge request espressif/esp-idf!50561
2026-07-29 19:23:15 +08:00
morris
faa0bd021c Merge branch 'bugfix/ppa_buffer_oob_v5.3' into 'release/v5.3'
fix(ppa): add checks for input to avoid any OOB access (v5.3)

See merge request espressif/esp-idf!51142
2026-07-29 18:55:37 +08:00
zhangyanjiao
829d43c9ef fix(wifi): fixed espnow data rate overridden by stale rate control 2026-07-29 17:52:35 +08:00
Rahul Tank
76fa1483ab Merge branch 'feat/sbom_changes_v5.3' into 'release/v5.3'
fix(nimble): update sbom file with cve details (v5.3)

See merge request espressif/esp-idf!51184
2026-07-29 15:03:51 +05:30
Jin Cheng
28b00497ee fix(bt/bluedroid): fixed incorrect eSCO packet type validation under secure connection mode in BlueDroid 2026-07-29 17:30:36 +08:00
hejiaxin
95b9d9c961 fix(bt): Fix some bug in stm_sco.c
- Memory safety
- State machine & logic integrity
- Resource leaks
- Edge cases check
2026-07-29 17:30:36 +08:00
Alexey Gerenkov
dd77984ee6 Merge branch 'fix/cxx-tls-destructors_v5.3' into 'release/v5.3'
fix(cxx): fix TLS classes destructor call (v5.3)

See merge request espressif/esp-idf!34209
2026-07-29 16:17:58 +08:00
Rahul Tank
2ccfcc7066 fix(nimble): update sbom file with cve details 2026-07-29 12:53:31 +05:30
Jiang Jiang Jian
be0801377d Merge branch 'bugfix/clear_ifx_tx_queue_v5.3' into 'release/v5.3'
bugfix(wifi): Clear Sta TX queue to prevent key 2 send failure (Backport v5.3)

See merge request espressif/esp-idf!50901
2026-07-29 15:16:35 +08:00
Island
6e1600f2f9 Merge branch 'feat/add_bt_common_npl_v5.3' into 'release/v5.3'
feat(bt): Add host-agnostic BT OSAL and shared BLE profile task (5.3)

See merge request espressif/esp-idf!51217
2026-07-29 15:00:21 +08:00