zephyr/kernel
Jennifer Williams 4d33007486 kernel: stack: fix stack_push spinlock and return
The z_impl_k_stack_push() has a spinlock that is set after
stack member access, which could cause race conditions and
used multiple return statements. This commit
- moves the lock before the CHECKIF
- implements goto for flow of lock, reschedule, and unlock
- uses ret for single return at the end

Signed-off-by: Jennifer Williams <jennifer.m.williams@intel.com>
2020-10-07 17:10:36 -04:00
..
include code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
CMakeLists.txt kernel: Deprecate CONFIG_MULTITHREADING 2020-09-23 15:50:32 -05:00
Kconfig kernel: handle thread self-aborts on idle thread 2020-09-30 14:11:59 -04:00
atomic_c.c kernel: Add k_heap synchronized memory allocator 2020-04-14 10:05:55 -07:00
cache_handlers.c syscalls: Add system call for cache flush & invalidate 2020-08-04 17:26:45 -04:00
compiler_stack_protect.c kernel: Fix gcc-9.2 warning with _StackCheckHandler 2019-10-04 05:22:30 -07:00
device.c kernel: device: invert sense of ready bit 2020-09-15 18:22:38 +02:00
errno.c headers: Refactor kernel and arch headers. 2019-11-06 16:07:32 -08:00
fatal.c debug/coredump: add a primitive coredump mechanism 2020-08-24 20:28:24 -04:00
futex.c kernel/timeout: Make timeout arguments an opaque type 2020-03-31 19:40:47 -04:00
idle.c kernel: handle thread self-aborts on idle thread 2020-09-30 14:11:59 -04:00
init.c kernel: handle thread self-aborts on idle thread 2020-09-30 14:11:59 -04:00
kheap.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
mailbox.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
mem_domain.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
mem_slab.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
mempool.c kernel: Refactor k_mem_pool APIs into a base and derived level 2020-04-14 10:05:55 -07:00
mempool_sys.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
mmu.c kernel: demote k_mem_map to z_mem_map 2020-09-03 14:24:38 -04:00
msg_q.c doc: Clarify semantics of k_msgq_put 2020-09-23 13:21:07 -05:00
mutex.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
pipes.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
poll.c code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
queue.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
sched.c kernel: add assert for mis-used k_thread_create() 2020-09-30 14:11:59 -04:00
sem.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
smp.c kernel: smp: avoid identifier collisions 2020-07-25 21:26:15 -04:00
stack.c kernel: stack: fix stack_push spinlock and return 2020-10-07 17:10:36 -04:00
system_work_q.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
thread.c code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
thread_abort.c kernel: handle thread self-aborts on idle thread 2020-09-30 14:11:59 -04:00
timeout.c kernel: timer: update _timeout API for const correctness 2020-10-02 11:29:14 +02:00
timer.c kernel: timer: update k_timer API for const correctness 2020-10-02 11:29:14 +02:00
userspace.c device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
userspace_handler.c userspace: update k_object API to support immutable objects 2020-09-02 13:48:13 +02:00
version.c zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
work_q.c kernel: Add k_delayed_work_pending to check if work has been submitted 2020-08-04 17:32:56 +02:00