zephyr/kernel
Paul Sokolovsky 199d07e655 kernel: queue: k_queue_poll: Fix slist access race condition
All sys_slist_*() functions aren't threadsafe and calls to them
must be protected with irq_lock. This is usually done in a wider
caller context, but k_queue_poll() is called with irq_lock already
relinquished, and is thus subject to hard to detect and explain
race conditions, as e.g. was tracked in #4022.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2017-10-17 10:37:47 +02:00
..
include userspace handlers: finer control of init state 2017-10-16 19:02:00 -07:00
alert.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
atomic_c.c
compiler_stack_protect.c
device.c
errno.c
idle.c
init.c userspace: allow thread IDs to be re-used 2017-10-16 16:16:28 -07:00
int_latency_bench.c
Kconfig
Kconfig.event_logger
Kconfig.power_mgmt
mailbox.c
Makefile
mem_domain.c
mem_slab.c
mempool.c
msg_q.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
mutex.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
pipes.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
poll.c
pthread.c
queue.c kernel: queue: k_queue_poll: Fix slist access race condition 2017-10-17 10:37:47 +02:00
sched.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
sem.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
stack.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
sys_clock.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
system_work_q.c
thread_abort.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
thread.c kernel: implement k_thread_create() as a syscall 2017-10-16 19:02:00 -07:00
timer.c kernel: Provide only one _SYSCALL_HANDLER() macro 2017-10-16 13:42:15 -04:00
userspace_handler.c userspace handlers: finer control of init state 2017-10-16 19:02:00 -07:00
userspace.c userspace: treat thread stacks as kernel objects 2017-10-16 19:02:00 -07:00
version.c
work_q.c