zephyr/kernel
Peter Mitsis 1b49cd2551 kernel: pipes: ISRs use a private pipe descriptor
Fixes sporadic data access violations that were occuring when pipes
were being used from an ISR. The ISR was incorrectly using the pipe
descriptor belonging to the interrupted thread. This led to corrupted
pipe meta-data. The solution proposed here is to perform a run-time
check and if use a pipe descriptor on the ISR's stack if called from
an ISR.

For additional information, see:
   https://github.com/zephyrproject-rtos/zephyr/issues/52812

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2023-02-11 06:45:13 +09:00
..
include kernel: Add routine to walk a wait queue 2023-02-11 06:45:13 +09:00
paging arch/kernel/soc/samples: use unsigned int for irq_lock() 2022-07-14 14:37:13 -05:00
atomic_c.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
banner.c kernel: banner: Remove unnecessary header 2023-01-09 12:07:28 -05:00
CMakeLists.txt cache: Fix cache API calling from userspace 2022-08-23 10:14:17 +02:00
compiler_stack_protect.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
condvar.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
device.c kernel: move z_sys_init_run_level to init.c 2022-10-12 18:49:12 +09:00
errno.c kernel: Allow Zephyr to use libc's internal errno 2022-05-12 19:06:48 -04:00
events.c kernel: events: add function to clear events 2022-12-02 09:50:42 -05:00
fatal.c debug: coredump: add xtensa intel adsp, support toolchains 2022-06-23 15:44:45 -04:00
futex.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
idle.c kernel: idle: fix -Werror=misleading-indentation 2022-10-12 18:43:15 +02:00
init.c kernel: mark z_cstart to not have stack protector 2023-01-24 13:04:45 -05:00
Kconfig kernel: Kconfig: Increase the main stack size for ARM when TEST 2022-12-09 21:59:10 +09:00
Kconfig.vm everywhere: fix typos 2022-03-18 13:24:08 -04:00
kheap.c kernel: kheap: fix k_heap_aligned_alloc handling of K_FOREVER 2022-09-29 10:39:12 -05:00
mailbox.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
main_weak.c kernel: Add C++ main() support 2022-11-05 16:41:45 +09:00
mem_domain.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
mem_slab.c kernel: Extend slabs memory usage stats 2022-07-12 13:59:26 +00:00
mempool.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
mmu.c kernel: mmu: fix potential running out of virtual memory space 2022-11-17 15:56:04 +00:00
msg_q.c kernel: k_msgq: add peek at function 2023-01-26 10:00:29 +00:00
mutex.c kernel: mutex: fix races when lock timeout 2022-08-12 17:40:20 +02:00
pipes.c kernel: pipes: ISRs use a private pipe descriptor 2023-02-11 06:45:13 +09:00
poll.c kernel: allow k_poll to wait on pipes 2022-08-24 17:49:20 +00:00
queue.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
sched.c kernel: pipes: Change method of unpending waiters 2023-02-11 06:45:13 +09:00
sem.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
smp.c smp: Move for loops to use arch_num_cpus instead of CONFIG_MP_NUM_CPUS 2022-10-21 13:14:58 +02:00
stack.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
system_work_q.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
thread.c smp: Move for loops to use arch_num_cpus instead of CONFIG_MP_NUM_CPUS 2022-10-21 13:14:58 +02:00
timeout.c kernel: resolve static analysis false positives 2023-01-05 18:23:04 +00:00
timer.c kernel: timer: Eliminate a race condition in expiration handling 2023-02-08 10:17:56 +01:00
usage.c smp: Move for loops to use arch_num_cpus instead of CONFIG_MP_NUM_CPUS 2022-10-21 13:14:58 +02:00
userspace_handler.c kernel: migrate includes to <zephyr/...> 2022-05-09 09:26:20 +02:00
userspace.c kernel: pipes: rewrite pipes implementation 2022-08-17 19:31:25 +02:00
version.c
work.c kernel: workq: Add internal function z_work_submit_to_queue() 2022-05-10 18:39:51 +02:00
xip.c kernel: remove redundant <zephyr/zephyr.h> includes 2022-06-15 09:13:11 +02:00