1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/sys
Marian Buschsieweke 375aed13e6
sys/newlib_syscalls_default: fix race condition in __sinit()
This eagerly calls `__sinit()` instead of lazy initialization upon the
first call to stdio (e.g. `puts()`, `printf()`). The issue is that
without locking (as is currently the case for all RIOT platforms but
ESP) two concurrent "first calls" may result in concurrent
initialization of the same structure and data corruption.

Fixes https://github.com/RIOT-OS/RIOT/issues/20067
2024-02-16 07:21:28 +01:00
..
analog_util sys/analog_util/dac_util: fix truncation bug 2022-12-09 13:58:12 -05:00
app_metadata
arduino sys/arduino: move pseudo modules to makefiles 2023-06-28 09:09:31 +02:00
auto_init sys/psa_crypto: Build PSA Crypto functions based on module selection 2023-11-30 21:02:42 +01:00
base64
benchmark sys/benchmark: fix integer overflow in benchmark_print_time() 2023-10-13 18:19:41 +02:00
bhp sys/bhp_msg: add IPC based Bottom Half Processor 2022-08-19 12:01:30 +02:00
bitfield sys/bitfield: don't set unrelated bits in bf_{set, clear}_all() 2023-03-17 00:08:10 +01:00
bloom
bus sys/bus: model Kconfig 2022-03-11 09:24:12 +01:00
can sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
cb_mux
checksum Fletcher32: Add incremental API 2023-10-18 13:22:44 +02:00
chunked_ringbuffer sys/chunked_ringbuffer: model in Kconfig 2022-03-04 09:35:50 +01:00
clif sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
coding sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
color sys/color: fix rgb2hsv function 2023-06-05 13:00:23 +02:00
congure sys/congure: move dependency resolution in its own Makefile.dep 2023-06-15 10:27:38 +02:00
cpp11-compat sys/cpp_new_delete: always enable the module when C++ is used 2024-02-07 11:40:23 +01:00
cpp_new_delete sys/cpp_new_delete: fix compilation with clang 2023-07-18 12:24:08 +02:00
crypto sys/psa_crypto: remove unused variable 2023-10-19 11:21:03 +02:00
cxx_ctor_guards doc: Improve C++ documentation 2021-12-15 18:58:23 +01:00
debug_irq_disable cpu/cortexm_common: measure time spent with IRQ disabled 2022-11-24 21:27:20 +01:00
div
ecc sys/ecc: model in Kconfig 2023-05-24 09:53:33 +02:00
eepreg sys/eepreg: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:46 +02:00
embunit
entropy_source sys/entropy_source: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:53 +02:00
event sys/event: add event_is_queued() 2023-10-06 18:21:34 +02:00
evtimer sys/evtimer: move dependency resolution in its own Makefile.dep 2023-06-15 10:27:37 +02:00
fido2 tree-wide: fix typos in doc and comments 2023-10-16 12:17:48 +02:00
fmt sys/fmt: don't include stdio_base.h 2024-02-09 15:31:21 +01:00
frac
fs sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
fuzzing fuzzing: Add uri_parser fuzzer setup 2022-12-19 13:03:45 +01:00
hashes Merge pull request #20116 from bergzand/pr/sha256/no_static 2024-01-16 16:01:56 +00:00
include Merge pull request #20073 from MichelRottleuthner/pr_gcoap_observe_improvments 2024-02-14 10:01:31 +00:00
iolist sys/iolist: introduce iolist_to_buffer() 2022-05-02 23:23:52 +02:00
isrpipe sys/isrpipe: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:48 +02:00
libc sys/endian: move form sys/libc 2024-01-31 20:14:46 +01:00
log_color sys/log_color: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:50 +02:00
log_printfnoformat sys/log: modularize log into log_color and log_printfnoformat 2022-10-12 12:21:29 +02:00
luid sys/luid: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:49 +02:00
malloc_thread_safe sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
matstat
memarray sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
mineplex
net Merge pull request #20389 from chrysn-pull-requests/thread-links 2024-02-14 18:42:30 +00:00
newlib_syscalls_default sys/newlib_syscalls_default: fix race condition in __sinit() 2024-02-16 07:21:28 +01:00
od sys/od: increase the size of str_pos variable 2023-07-06 13:27:58 +02:00
oneway-malloc sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
phydat sys/phydat: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:52 +02:00
picolibc_syscalls_default sys/picolibc_syscalls_default: Fix read/write return for picolibc >= 1.8 2023-03-03 12:04:48 -08:00
pipe sys/pipe: model in Kconfig 2023-05-24 09:53:35 +02:00
pm_layered sys/pm_layered: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:52 +02:00
posix sys: 64 bit compatibility 2024-01-17 16:05:12 +01:00
preprocessor sys/preprocessor: add Kconfig file 2022-10-17 10:38:14 +02:00
progress_bar sys/progress_bar: add Konfig configuration 2021-04-07 12:05:00 +02:00
ps sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
psa_crypto sys/psa_crypto: Use PRIuSIZE in debug messages 2024-02-05 22:02:27 +01:00
puf_sram sys/puf_sram: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:54 +02:00
random sys/random/fortuna/fortuna.c:add error check of aes_encrypt() 2024-01-30 19:04:01 +01:00
riotboot sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
rtc_utils sys: move rtc utility functions to their own module 2021-12-20 13:04:20 +01:00
rust_riotmodules rust_riotmodules: pub use instead of extern crate 2022-07-10 21:27:13 +02:00
rust_riotmodules_standalone rust: Selectively update riot-wrappers and -sys 2024-02-01 13:53:42 +01:00
saul_reg sys/saul_reg: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:51 +02:00
sched_round_robin sys/sched_round_robin: move deps resolution in its own Makefile.dep 2023-06-15 10:24:51 +02:00
schedstatistics sys/schedstatistics: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:50 +02:00
sema sys/sema*: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:49 +02:00
sema_inv sys/sema*: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:49 +02:00
senml sys/senml: cleanup dependency resolution 2023-06-15 10:24:52 +02:00
seq
shell sys/shell/ping: print error when DNS resolve fails 2024-02-07 16:02:04 +01:00
shell_lock sys/shell_lock: fix compilation with llvm 2023-07-18 12:24:08 +02:00
ssp sys/ssp: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:47 +02:00
stdio sys/stdio: add common stdio module 2024-02-09 15:24:22 +01:00
stdio_nimble stdio_nimble: port to new interface 2024-02-09 15:24:22 +01:00
stdio_null stdio_null: port to new interface 2024-02-09 15:24:22 +01:00
stdio_rtt stdio_rtt: port to new interface 2024-02-09 15:24:22 +01:00
stdio_semihosting stdio_semihosting: port to new interface 2024-02-09 15:31:21 +01:00
stdio_uart stdio_uart: port to new interface 2024-02-09 15:24:22 +01:00
stdio_udp stdio_udp: port to new interface 2024-02-09 15:24:22 +01:00
suit sys/suit: introduce suit_worker_done_cb() 2024-01-08 20:39:12 +01:00
test_utils sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
timex
tiny_strerror sys/tiny_strerror: make use of flash_utils.h 2023-02-27 23:25:13 +01:00
trace sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
trickle sys/trickle: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:48 +02:00
tsrb sys/tsrb: add peek functions 2021-11-24 17:54:44 +01:00
universal_address sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
uri_parser sys/uri_parser: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:57 +02:00
usb sys/usb/cdc/acm: port to new interface 2024-02-09 15:24:22 +01:00
usb_board_reset sys/usb_board_reset: allow to enable it also for stdio_usb_serial_jtag 2023-02-06 16:19:11 +01:00
ut_process sys: Use size_t print format specifier 2023-12-21 12:02:19 +01:00
uuid sys/uuid: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:56 +02:00
vfs native64: Add Linux/x86_64 board 2024-02-05 22:01:40 +01:00
vfs_util sys/vfs*: move dependency resolution in its own Makefile.dep 2023-06-15 10:24:54 +02:00
xtimer sys/xtimer: switch default backend to ztimer 2022-03-18 08:23:00 +01:00
zptr
ztimer sys: 64 bit compatibility 2024-01-17 16:05:12 +01:00
ztimer64 sys: 64 bit compatibility 2024-01-17 16:05:12 +01:00
doc.txt sys/doc.txt: add sys_compression doxygen group 2023-02-27 15:09:08 +01:00
Kconfig sys: Add PSA Crypto Module 2023-08-31 14:38:49 +02:00
Kconfig.newlib sys/syscalls: add libc_gettimeofday 2022-03-24 11:36:49 +01:00
Kconfig.picolibc pkg/tinyusb: sys: fix stdio buffered inclusion in Kconfig 2023-06-17 15:12:31 +02:00
Kconfig.stdio pkg/tinyusb: sys: fix stdio buffered inclusion in Kconfig 2023-06-17 15:12:31 +02:00
Makefile sys: Add PSA Crypto Module 2023-08-31 14:38:49 +02:00
Makefile.dep sys/cpp_new_delete: always enable the module when C++ is used 2024-02-07 11:40:23 +01:00
Makefile.include native64: Add Linux/x86_64 board 2024-02-05 22:01:40 +01:00