Commit Graph

37820 Commits

Author SHA1 Message Date
Wang Meng Yang
0185451ed1 Merge branch 'fix/bluedroid_aireview' into 'master'
Fix/bluedroid aireview

See merge request espressif/esp-idf!49972
2026-07-24 16:58:20 +08:00
Rahul Tank
d78d57c394 Merge branch 'bugfix/red_rem_feat_evt' into 'master'
Handle Read Remote Supported Feature failure

See merge request espressif/esp-idf!50243
2026-07-24 14:24:18 +05:30
C.S.M
b6333dfd49 Merge branch 'test/flash_cve_issue' into 'master'
fix(spi_flash): Fix spi_flash leaks release aes-xts in error path

Closes SEC-249

See merge request espressif/esp-idf!51108
2026-07-24 12:57:04 +08:00
Shu Chen
d556c729ef Merge branch 'feat/update_phylib_on_s31_c6_for_track' into 'master'
feat(phy): update phy lib for esp32s31 & esp32c6 for track

See merge request espressif/esp-idf!50774
2026-07-24 04:52:35 +00:00
morris
5dc8b98dea Merge branch 'fix/set_errno_if_usj_not_connect_in_vfs' into 'master'
fix(esp_driver_usb): set errno if usj not connect in vfs read/write

Closes IDF-14303

See merge request espressif/esp-idf!51113
2026-07-24 11:45:44 +08:00
Mahavir Jain
08948ee390 Merge branch 'fix/esp_tee_stk_ptr_bug' into 'master'
fix(esp_tee): Validate the stack pointer at the privilege switch boundary

Closes IDF-15974, IDF-15977, and IDF-15994

See merge request espressif/esp-idf!50647
2026-07-23 19:44:47 +05:30
wuzhenghui
7fd91c00dd fix(esp_driver_usb): set errno if usj not connect in vfs read/write 2026-07-23 21:47:16 +08:00
Jiang Jiang Jian
102122904a Merge branch 'bugfix/fix_assignment_error_in_esptouch_v2' into 'master'
fix(wifi): fixed the assignment error in esptouch v2

See merge request espressif/esp-idf!51094
2026-07-23 21:06:47 +08:00
C.S.M
305c5869ee fix(spi_flash): Fix spi_flash leaks release aes-xts in error path 2026-07-23 19:28:13 +08:00
morris
ee2cfdb3f3 Merge branch 'feature/isp-flash-dma-input' into 'master'
feat(isp): add aligned flash DMA input example

See merge request espressif/esp-idf!50959
2026-07-23 19:13:55 +08:00
Chen Ji Chang
5abb8ab351 Merge branch 'test/enable_c61_h4_flash_enc_test' into 'master'
test(flash_enc): enable c61 and h4 flash_enc test

Closes IDF-15964

See merge request espressif/esp-idf!50872
2026-07-23 16:51:51 +08:00
Meet Patel
cd876edf5c Merge branch 'test/idf-additions-withcaps' into 'master'
test(freertos): strengthen IDF additions WithCaps coverage

See merge request espressif/esp-idf!50804
2026-07-23 13:48:18 +05:30
Erhan Kurubas
d1609d3cb1 Merge branch 'add_trace_doc_section' into 'master'
docs(esp_trace): restructure tracing docs with esp_trace as master

Closes DOC-13669

See merge request espressif/esp-idf!50215
2026-07-23 09:31:57 +02:00
Konstantin Kondrashov
1ad9da3241 Merge branch 'contrib/github_pr_18825' into 'master'
fix(log): fix out-of-bounds reads in binary log mode's output_pointer() (GitHub PR)

Closes IDFGH-17956

See merge request espressif/esp-idf!50869
2026-07-23 09:21:23 +03:00
Laukik Hase
b77016e350 fix(esp_tee): Validate REE-supplied memory bounds (esp_tee_app_config) before use 2026-07-23 11:29:57 +05:30
Laukik Hase
acb7d996b0 fix(esp_tee): Validate the stack pointer at the privilege switch boundary 2026-07-23 11:29:55 +05:30
Erhan Kurubas
6c6490d54c docs(esp_trace): restructure tracing docs with esp_trace as master
Reorganize the tracing documentation so esp_trace is the master
component, with app_trace, SystemView, and Gcov referenced from it.
2026-07-23 08:58:30 +03:00
Chen Chen
65f0b76eb0 Merge branch 'ci/i2s_enable_flash_enc_test' into 'master'
ci(i2s): test I2S driver on encrypted runner

Closes IDF-15062

See merge request espressif/esp-idf!49232
2026-07-23 12:01:18 +08:00
Island
9211373354 Merge branch 'idf/ble_audio_pts' into 'master'
feat(ble_audio): Miscellaneous update for verifying with PTS cases

See merge request espressif/esp-idf!50156
2026-07-23 11:14:35 +08:00
hejiaxin
1553b0ce67 fix(bt): Fix some bug in stm_sco.c
- Memory safety
- State machine & logic integrity
- Resource leaks
- Edge cases check
2026-07-23 10:56:32 +08:00
Wang Meng Yang
a151bc553a Merge branch 'bugfix/low_spp_throughput' into 'master'
change(bt/bluedroid): increased port low watermark of RFCOMM

Closes BTQABR2023-815

See merge request espressif/esp-idf!51031
2026-07-23 10:50:57 +08:00
Wang Meng Yang
e61ef3e4a4 Merge branch 'change/refactor_hidh_datapath' into 'master'
Change/refactor hidh datapath

Closes IDFGH-17363

See merge request espressif/esp-idf!49615
2026-07-23 10:47:19 +08:00
zhangyanjiao
6a4fb7e546 fix(wifi): fixed the assignment error in esptouch v2 2026-07-23 10:45:24 +08:00
morris
d9a0829c27 Merge branch 'fix/riscv_trace_rcc_atomic' into 'master'
fix(riscv_trace): protect shared RCC register access with PERIPH_RCC_ATOMIC

See merge request espressif/esp-idf!51072
2026-07-23 10:29:54 +08:00
Wang Meng Yang
1860ef6b7f Merge branch 'bugfix/bredr_acl_uflow_deadlock' into 'master'
fix(bt): Fixed blocking during LMP packet_type negotiation on ESP32-S31

Closes IDFGH-17903

See merge request espressif/esp-idf!51067
2026-07-23 10:08:03 +08:00
harshal.patil
a7b29bfda9 change(security): disable Key Manager support on ESP32-C5/P4/S31
The Key Manager hardware peripheral in its current form needs further
design changes before it can be offered as a production feature.
Until a revised peripheral design is available, withdraw ESP-IDF
support for it on all Key Manager capable targets.
2026-07-22 19:58:23 +05:30
Liu Linyan
4362a3116f feat(ble_audio): Miscellaneous update for verifying with PTS cases 2026-07-22 20:38:57 +08:00
morris
49fba58f08 fix(riscv_trace): protect shared RCC register access with PERIPH_RCC_ATOMIC
riscv_trace_ll_enable_bus_clock and riscv_trace_ll_reset_register operate
on shared HP_SYS_CLKRST registers and were called concurrently from both
cores during SECONDARY init, creating RMW race conditions.

Move the clock/reset logic out of the HAL layer into
esp_riscv_trace_early_init, protected by PERIPH_RCC_ATOMIC() spinlock.
Wrap the LL functions with macros that enforce the caller must be inside
a PERIPH_RCC_ATOMIC() critical section at compile time.
2026-07-22 19:02:58 +08:00
Konstantin Kondrashov
217fc2b7e5 Merge branch 'fix/esp_timer_task_dispatch_wedge' into 'master'
fix(esp_timer): Fix esp_timer task dispatch stall

Closes IDFGH-17935

See merge request espressif/esp-idf!50788
2026-07-22 13:47:58 +03:00
Wang Mengyang
53b357790b fix(bt): Fixed blocking during LMP packet type negotiation on ESP32-S31
In the Bluetooth connections with some smartphones, communication can possibly be blocked
during packet type negotation, when ESP32-S31 attempts to finalize the ACL-U transmission
and waits for the last Tx ACL-U packet to be transmitted, but peer device rejects the
packet with FLOW=STOP in its packet, thus causing a deadlock.

Closes https://github.com/espressif/esp-idf/issues/18797
2026-07-22 16:41:08 +08:00
Jiang Jiang Jian
ade59336b6 Merge branch 'bugfix/fix_crash_issue_on_esptouch_v2' into 'master'
fix(wifi): added validation for password and reserved data length in ESPTouch v2

Closes WIFI-7448, WIFI-7484, WIFI-7482, and WIFI-7444

See merge request espressif/esp-idf!50110
2026-07-22 16:27:15 +08:00
morris
44247cf304 Merge branch 'refactor/extract-esp_hal_debug_assist' into 'master'
refactor(hal): extract assist_debug, debug_probe and trace into esp_hal_debug_assist

See merge request espressif/esp-idf!50968
2026-07-22 16:15:13 +08:00
liqigan
0564b09e86 fix(bt/bluedroid): Fixed use after free issue on osi_event_delete 2026-07-22 14:41:20 +08:00
liqigan
39b4b3f329 fix(bt/bluedroid): Fixed HID host reconnection bug and enabled load HID devices
Closes https://github.com/espressif/esp-idf/issues/18335
2026-07-22 14:41:20 +08:00
liqigan
540a4216df change(bt/bluedroid): Refactored HCI ACL datapath 2026-07-22 14:41:20 +08:00
liqigan
db12b3c279 change(bt/bluedroid): Refactored HID host datapath 2026-07-22 14:41:18 +08:00
Wang Meng Yang
bc428c91d5 Merge branch 'bugfix/bredr_critical_bugs' into 'master'
bugfix: fix issues raised from AI review

See merge request espressif/esp-idf!49755
2026-07-22 14:31:28 +08:00
Astha Verma
c653c09b9e fix(nimble): Handle Read Remote Supported Features failure correctly 2026-07-22 11:58:57 +05:30
Island
904d960cd6 Merge branch 'fix/ble-log-store-access-fault' into 'master'
fix: Ensure BLE Log Global Variables in Internal RAM

See merge request espressif/esp-idf!51024
2026-07-22 14:02:23 +08:00
Konstantin Kondrashov
35e5def13c Merge branch 'fix/bootloader_log_format_drom_vaddr' into 'master'
fix(bootloader): use correct format specifier for MMU_LL_END_DROM_ENTRY_VADDR

Closes IDFGH-17999

See merge request espressif/esp-idf!50927
2026-07-22 08:59:12 +03:00
Konstantin Kondrashov
66b5056f23 fix(bootloader): use correct format specifier for MMU_LL_END_DROM_ENTRY_VADDR 2026-07-22 08:59:11 +03:00
zhuanghang
bdd962c685 feat(phy): update phy lib for esp32s31 & esp32c6 for track 2026-07-22 11:11:20 +08:00
Konstantin Kondrashov
10f8b195b0 Merge branch 'fix/log-unsigned-msec-format' into 'master'
fix(log): use unsigned format specifier for esp_log_system_timestamp msec

See merge request espressif/esp-idf!50989
2026-07-21 18:32:49 +03:00
Konstantin Kondrashov
95bba8e982 Merge branch 'fix/heap-trace-calloc' into 'master'
fix(heap): trace heap_caps_calloc allocations in standalone heap tracing

Closes IDF-15995

See merge request espressif/esp-idf!50990
2026-07-21 17:55:53 +03:00
yi chen
62e507ab8e fix(log): fix out-of-bounds reads in binary log for buffer log apis
- Fix MAX(len,2) reading beyond buffer when len=1
- Fix buffer_len=0 ambiguity with strlen fallback
- Add BUFFER_LEN_NOT_SET sentinel (-1)
- Read exactly len bytes, not forced minimum

Merges https://github.com/espressif/esp-idf/pull/18825
2026-07-21 16:47:50 +03:00
Konstantin Kondrashov
268a9b071f Merge branch 'fix/esp-event-security-fixes' into 'master'
fix(esp_event): multiple security and stability fixes

Closes SEC-064, SEC-219, SEC-220, SEC-221, SEC-222, and IDFGH-17955

See merge request espressif/esp-idf!50442
2026-07-21 16:27:51 +03:00
Konstantin Kondrashov
82e6c831e7 fix(esp_event): free queued legacy cleanup ctx on loop delete
When a loop is deleted while an internal legacy "cleanup" event is still
queued (posted by a deferred self-unregistration from within a handler),
esp_event_loop_delete() drained the queue but only freed the post payload,
leaking the heap copy of the handler context allocated for the legacy path.

Free ctx->handler_ctx for queued legacy cleanup events while draining the
queue, mirroring the cleanup done in esp_event_loop_run().

Add a regression test that leaves a legacy cleanup event queued and asserts
no memory is leaked on loop deletion.
2026-07-21 15:33:47 +03:00
Konstantin Kondrashov
e8ffb477a0 fix(esp_event): clear running_task before releasing mutex on tick timeout
When esp_event_loop_run() exited via the ticks-expired break path,
loop->running_task was left pointing to the current task handle.
Any subsequent trylock in esp_event_handler_unregister_with_internal()
would see a stale non-NULL running_task and take the wrong code path.
2026-07-21 15:25:58 +03:00
Konstantin Kondrashov
9d2d32524b fix(esp_event): prevent UAF race between post and loop delete (SEC-222)
esp_event_post_to() could access loop->queue / loop->mutex after
esp_event_loop_delete() freed them when both ran concurrently.

Introduce esp_event_loop_state_t with:
- posts_in_flight: reference-count incremented atomically (under
  state.lock spinlock) before touching any loop resources, decremented
  on every exit path via goto on_err.
- deleting: atomic_bool set by esp_event_loop_delete() to block new
  posts from entering the critical section.

esp_event_loop_delete() sets deleting=true, then busy-waits (releasing
and re-acquiring loop->mutex each tick) until posts_in_flight reaches
zero before proceeding with teardown.

esp_event_isr_post_to() performs a lock-free atomic_load of deleting as
a best-effort guard; ISR context cannot participate in the spinlock
protocol but the window is documented and accepted.
2026-07-21 15:25:58 +03:00
Konstantin Kondrashov
736275e562 fix(esp_event): skip dispatch for internal cleanup events (SEC-221)
After processing an esp_event_handler_cleanup sentinel, execution fell
through into the regular dispatch block. Every loop-level (ANY_BASE/
ANY_ID) handler was invoked with base="cleanup" and event_data pointing
at the internal esp_event_remove_handler_context_t struct.

Consequences:
- Information disclosure: internal handler addresses and loop instance
  pointer are exposed to every loop-level handler.
- UAF: if a handler stores event_data for later use, post_instance_delete
  frees the ctx, turning the stored pointer into a dangling reference.
- Logic corruption: handlers that switch on base with a default branch
  misbehave on every unregister anywhere in the system.

Fix: wrap the regular dispatch block in an else clause so it is skipped
entirely for cleanup events. post_instance_delete, ticks accounting, and
xSemaphoreGiveRecursive remain in the shared tail executed for both paths.

Closes SEC_221
2026-07-21 15:25:57 +03:00