zephyr/kernel
Pedro Sousa 4207f4add8 kernel: timer: Fix race condition in k_timer_start
The documentation suggests that k_timer_start can be invoked from ISR
and preemptive contexts, however, an assertion failure occurs if one
k_timer_start call preempts another for the same timer instance. This
commit mitigates the issue by implementing a spinlock throughout the
k_timer_start function, ensuring thread-safety.

Fixes: #62908

Signed-off-by: Pedro Sousa <sousapedro596@gmail.com>
2023-10-23 12:10:06 +02:00
..
include kernel: random: Rename early random get function 2023-10-13 10:03:53 +03:00
paging
CMakeLists.txt kernel: Add initial obj_core infrastructure 2023-09-30 08:04:14 +03:00
Kconfig libc: Control Z_LIBC_PARTITION_EXISTS from Kconfig 2023-10-10 23:39:40 +03:00
Kconfig.vm mm: introduce CONFIG_KERNEL_VM_USE_CUSTOM_MEM_RANGE_CHECK 2023-10-20 15:08:34 +02:00
atomic_c.c
banner.c
busy_wait.c
compiler_stack_protect.c
condvar.c kernel: Integrate object cores into kernel 2023-09-30 08:04:14 +03:00
device.c
dynamic.c
dynamic_disabled.c
errno.c
events.c kernel: Integrate object cores into kernel 2023-09-30 08:04:14 +03:00
fatal.c kernel: fatal: Remove redundant function 2023-09-29 13:05:13 +02:00
futex.c
idle.c kernel: move wait_q.h header to be internal 2023-09-12 12:55:36 -04:00
init.c kernel: init: Build constant in early random generator 2023-10-13 10:03:53 +03:00
kheap.c kernel: move wait_q.h header to be internal 2023-09-12 12:55:36 -04:00
mailbox.c kernel: Remove legacy mem block from mailbox 2023-10-13 09:56:02 +03:00
main_weak.c
mem_domain.c
mem_slab.c kernel: Integrate object core statistics 2023-09-30 08:04:14 +03:00
mempool.c
mmu.c
msg_q.c kernel: Integrate object cores into kernel 2023-09-30 08:04:14 +03:00
mutex.c kernel: Integrate object cores into kernel 2023-09-30 08:04:14 +03:00
obj_core.c kernel: Integrate object core statistics 2023-09-30 08:04:14 +03:00
pipes.c kernel: Integrate object cores into kernel 2023-09-30 08:04:14 +03:00
poll.c kernel: poll: Lock all calls to signal_poll_event 2023-09-18 15:41:23 -04:00
queue.c kernel: Integrate object cores into kernel 2023-09-30 08:04:14 +03:00
sched.c kernel: move sched_priq.h to internal/ folder 2023-09-30 18:43:28 +02:00
sem.c kernel: Integrate object cores into kernel 2023-09-30 08:04:14 +03:00
smp.c
stack.c kernel: Integrate object cores into kernel 2023-09-30 08:04:14 +03:00
system_work_q.c
thread.c kernel: random: Rename early random get function 2023-10-13 10:03:53 +03:00
timeout.c kernel: move timeout_q.h to kernel/include 2023-09-12 12:55:36 -04:00
timer.c kernel: timer: Fix race condition in k_timer_start 2023-10-23 12:10:06 +02:00
usage.c kernel: Integrate object core statistics 2023-09-30 08:04:14 +03:00
userspace.c kernel: s/k_current_get/_current 2023-09-29 13:05:13 +02:00
userspace_handler.c kernel: userspace: add k_object_is_valid() 2023-09-28 17:28:43 -04:00
version.c
work.c kernel: work: check handler when submit to queue 2023-10-05 13:43:07 +01:00
xip.c