Commit Graph

19 Commits

Author SHA1 Message Date
Marius Vikhammer
4d332f710e docs(kconfig): update kconfig ref links to use menuitem 2026-08-11 11:19:45 +02:00
Alexey Lapshin
aecc6eab60 fix(heap): avoid stack smash when heap tracing stack depth is 0
On RISC-V without frame pointers, STACK_DEPTH defaults to 0, so
alloced_by[] is empty. Writing callers[0] still ran and overwrote the
caller's cm.push saved ra, causing an illegal-instruction fault after
the first traced malloc (e.g. with HEAP_TRACING on ESP32-S31).
2026-08-03 16:07:54 +07:00
Erhan Kurubas
19a27980a5 refactor(examples): group trace examples under examples/system/tracing/
Move 7 trace-related examples (app_trace_basic, app_trace_to_plot,
esp_trace_custom_library, function_tracing, gcov, sysview_tracing,
sysview_tracing_heap_log) from examples/system/ into a dedicated
examples/system/tracing/ subdirectory for better organization.

Update all path references across documentation (en + zh_CN),
build-test-rules, CI configs, Kconfig, and component READMEs.
2026-07-27 23:56:02 +03:00
Meet Patel
383e9adb82 feat(kasan): add Kernel Address Sanitizer (KASAN) support for ESP-IDF
Add KASAN support for detecting heap memory safety bugs (buffer
overflows, underflows, use-after-free) at runtime using compiler
instrumentation and shadow memory. Gated behind
CONFIG_IDF_EXPERIMENTAL_FEATURES, with touch points kept to esp_system
and heap so other components stay untouched.

- Core runtime (esp_system/kasan.c, esp_kasan.h): nibble-based shadow
  memory in DRAM, poison/unpoison, per-access validation, and __asan_*
  stubs; hot-path stubs in IRAM so they stay valid with the flash cache
  off. Shadow init runs before heap bring-up.
- Heap integration (heap/heap_kasan*.c): alloc/free hooks add redzones,
  a quarantine FIFO, and shadow updates.
- Panic handling: disable checks once at the panic handler entry so
  backtrace and stack dumps can read redzones without nested reports.
- Build system: -fsanitize=kernel-address for app code, with HAL, SoC,
  esp_rom, SPI flash, esp_hw_support, bootloader_support, FreeRTOS, and
  heap internals excluded from instrumentation.
- Test app (tools/test_apps/system/kasan_test): Unity tests for
  overflow, underflow, use-after-free, and all sized __asan_* stubs,
  with halt and no-halt configurations.
- Docs: document KASAN in the heap memory debugging guide (EN and CN).
2026-06-24 11:27:00 +05:30
Erhan Kurubas
1dac8685db feat(tracing): add new component for tracing 2025-10-30 12:15:35 +01:00
Erhan Kurubas
2ef718fc29 change(app_trace): breaking changes related to destination selection
- Destination selection is unified for SystemView and app_trace
- Destination param is removed from app_trace APIs
- Destinaiton and related configuration now can be override from users
  with a callback from system_init_fn
2025-10-18 02:28:31 +08:00
Shen Mengjing
1319fe05e1 docs: Sync CN and EN docs 2025-08-11 17:42:59 +08:00
shenmengjing
72d858a9d9 docs: Sync CN and EN docs 2025-05-12 11:24:03 +08:00
Zhang Shuxian
03840f4598 docs: Update CN translation for heap_debug.rst 2025-02-08 12:00:07 +08:00
Zhang Shuxian
f6dde85e45 docs: Update CN translation for heap debug 2024-12-16 10:15:49 +08:00
Linda
0af1256a12 docs: add or update application examples of system component 2024-07-29 16:00:18 +08:00
daiziyan
2ba94d6819 docs: update CN trans for heap_debug 2024-05-28 12:01:40 +08:00
Guillaume Souchere
3ac6eeb7b6 change(docs): Remove heap_caps_check_integrity wrong behavior warning in ROM heap
A patch will fix the behavior of heap_caps_check_integrity in the ROM implementation
of the heap component so the warning is not longer needed.
2023-11-01 09:47:41 +01:00
Shang Zhou
c4d9c46884 docs: Update CN translation for heap_debug.rst 2023-10-17 12:15:23 +02:00
nilesh.kale
e2906504fb docs: Update maximum stack frames during heap memory debugging 2023-09-18 13:44:58 +05:30
Cai Xin Ying
03c15adc94 docs: update format issues for EN and CN files under api-reference/system and... 2023-08-03 11:32:07 +08:00
Daniel Mangum
647e7a2a71 fix: Replace deprecated flushregs alias with full gdb command
Usage of `flushregs` in gdb will result in the following warning:

```
Warning: 'flushregs', an alias for the command 'maintenance flush register-cache', is deprecated.
Use 'maintenance flush register-cache'.
```

This patch updates to use the recommend command.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
Merges https://github.com/espressif/esp-idf/pull/11535
2023-07-13 09:26:47 +02:00
Cai Xin Ying
e93672bc7b docs: Provide CN translation for api-reference/system/heap_debug.rst 2023-06-05 11:12:19 +08:00
krzychb
097adc3a33 Moved files into separate folders per 'en' and 'zh_CN' language version and linked 'zh_CN' files back to 'en' files if translation is not yet available 2018-03-13 21:57:08 +01:00