zephyr/subsys
Andy Ross 02b23f3733 arch/posix: Add MemorySanitizer support
Wire this up the same way ASAN works.  Right now it's support only by
recent clang versions (not gcc), and only in 64 bit mode.  But it's
capable of detecting uninitialized data reads, which ASAN is not.

This support is wired into the sys_heap (and thus k_heap/k_malloc)
layers, allowing detection of heap misuse like use-after-free.  Note
that there is one false negative lurking: due to complexity, in the
case where a sys_heap_realloc() call is able to shrink memory in
place, the now-unused suffix is not marked uninitialized immediately,
making it impossible to detect use-after-free of those particular
bytes.  But the system will recover cleanly the next time the memory
gets allocated.

Also no attempt was made to integrate this handling into the newlib or
picolibc allocators, though that should hopefully be possible via
similar means.

Signed-off-by: Andy Ross <andyross@google.com>
2022-08-19 08:30:01 +02:00
..
bluetooth Bluetooth: audio: Add missing 'or' in service declaration 2022-08-18 21:40:23 +00:00
canbus drivers: can: remove z prefix from public CAN API types 2022-08-18 10:19:29 +02:00
console
cpp cpp: Include additional contents in <cstddef> 2022-06-23 09:12:33 +02:00
debug arch/posix: Add MemorySanitizer support 2022-08-19 08:30:01 +02:00
demand_paging different subsystems: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
dfu dfu: Fix write block size check on, probably, incorrect device 2022-08-18 12:51:20 +02:00
disk
emul emul: emul_sbs_gauge: Fix compile 2022-08-17 12:47:16 -05:00
fb scripts: move gen_cfb_font_header.py to scripts/build 2022-07-12 10:03:45 +02:00
fs shell: typos 2022-08-18 12:25:39 +02:00
ipc ipc_service: Add ipc_service_deregister_endpoint function 2022-08-18 12:32:21 +02:00
jwt
logging kconfig: logging: Add LOG_MIPI_SYST_ARGS_BUFFER_SIZE option. 2022-08-17 12:07:08 +02:00
lorawan lorawan: upgrade to LoRaMAC-node v4.6.0 2022-08-03 05:02:57 +01:00
mgmt subsys/mgmt/hawkbit: Set ai_socktype if IPV4/IPV6 2022-08-18 11:33:38 +00:00
modbus modbus: remove the use of DT_INST_LABEL and DT_PROP(inst, label) 2022-08-11 09:39:24 -07:00
net tls_credentials: add Trusted Credential storage backend 2022-08-18 12:33:07 +02:00
pm pm: stats: fix typo 2022-08-18 15:13:47 -05:00
portability different subsystems: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
random
rtio include: fix the remaining legacy #include paths 2022-08-02 16:41:41 +01:00
sd sd: sdmmc: wait before sending second OCR 2022-08-18 12:49:03 +02:00
settings fcb_settings: Use weak function to get storage flash area 2022-08-18 12:31:43 +02:00
shell shell: kernel: fix sleep command 2022-08-03 18:47:03 +02:00
stats
storage storage: flash_map: fix incomplete type 2022-08-18 11:20:26 +02:00
task_wdt include: add more missing zephyr/ prefixes 2022-05-27 15:20:27 -07:00
testsuite testsuite: coverage: pin gcov sections for demand paging 2022-08-18 17:23:18 +02:00
timing
tracing kernel: pipes: rewrite pipes implementation 2022-08-17 19:31:25 +02:00
usb usb: Increase mass storage stack size when SD stack is enabled 2022-08-17 12:09:17 +02:00
CMakeLists.txt dfu: fixup conditional CMake include 2022-08-05 15:14:40 +02:00
Kconfig rtio: Real-Time Input/Output Stream 2022-06-28 13:53:13 -04:00