zephyr/kernel/include
Andy Ross 604f0f44b6 kernel/sched: Add missing lock around waitq unpend calls
The two calls to unpend a thread from a wait queue were inexplicably*
unsynchronized, as James Harris discovered.  Rework them to call the
lowest level primities so we can wrap the process inside the scheduler
lock.

Fixes #32136

* I took a brief look.  What seems to have happened here is that these
  were originally synchronized via an implicit from an outer caller
  (remember the original Uniprocessor irq_lock() API is a recursive
  lock), and they were mostly implemented in terms of middle-level
  calls that were themselves locked.  So those got ported over to the
  newer spinlock but the outer wrapper layer got forgotten.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-02-10 07:43:18 -05:00
..
gen_offset.h aarch64: Use absolute symbols for the callee saved registers 2020-11-17 18:59:23 -05:00
kernel_arch_interface.h kernel: add demand paging arch interfaces 2021-01-23 19:47:23 -05:00
kernel_internal.h mmu: ensure gperf data is mapped 2021-01-23 19:47:23 -05:00
kernel_offsets.h Revert "device: add post-process of elf file to manage device handles" 2021-01-23 18:01:03 -05:00
kernel_tls.h kernel: tls: align tdata/tbss sections in stack 2021-02-07 23:28:43 -05:00
ksched.h kernel/sched: Add missing lock around waitq unpend calls 2021-02-10 07:43:18 -05:00
kswap.h tracing: roll thread switch in/out into thread stats functions 2020-11-11 23:55:49 -05:00
mmu.h mmu: fix ARM64 compilation by removing z_mapped_size usage 2021-02-05 17:19:56 -05:00
offsets_short.h kernel: add common bits to support TLS 2020-10-24 10:52:00 -07:00