zephyr/tests/kernel
Andrew Boie 378024c510 userspace: add z_is_in_user_syscall()
Certain types of system call validation may need to be pushed
deeper in the implementation and not performed in the verification
function. If such checks are only pertinent when the caller was
from user mode, we need an API to detect this situation.

This is implemented by having thread->syscall_frame be non-NULL
only while a user system call is in progress. The template for the
system call marshalling functions is changed to clear this value
on exit.

A test is added to prove that this works.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-06-03 22:33:32 +02:00
..
common tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
context tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
device tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
early_sleep tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
fatal tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
fifo tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
fpu_sharing tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
gen_isr_table tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
interrupt tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
lifo tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
mbox tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
mem_heap/mheap_api_concept tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
mem_pool tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
mem_protect userspace: add z_is_in_user_syscall() 2020-06-03 22:33:32 +02:00
mem_slab tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
mp tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
msgq/msgq_api tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
mutex tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
obj_tracing tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
pending tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
pipe tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
poll tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
profiling/profiling_api tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
queue tests/kernel/queue: Add regression test for CONFIG_POLL race condition 2020-06-03 01:47:41 +02:00
sched tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
semaphore/semaphore tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
sleep tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
smp tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
spinlock tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
stack/stack tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
threads tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
tickless tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
timer include: sys: time_units: fix 32-bit near conversion for overflow 2020-06-03 01:49:42 +02:00
workq kernel/queue: Remove interior use of k_poll() 2020-06-03 01:47:41 +02:00
xip tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00