|
| K_SEM_DEFINE (test_revoke_sem, 0, 1) |
|
| K_APPMEM_PARTITION_DEFINE (default_part) |
|
| K_APP_BMEM (default_part) |
| Test to pass a user object to system call. More...
|
|
static void | set_fault (unsigned int reason) |
|
void | k_sys_fatal_error_handler (unsigned int reason, const z_arch_esf_t *pEsf) |
| Fatal error policy handler. More...
|
|
static void | test_is_usermode (void) |
| Test to check if the thread is in user mode. More...
|
|
static void | test_write_control (void) |
| Test to write to a control register. More...
|
|
static void | test_disable_mmu_mpu (void) |
| Test to disable memory protection. More...
|
|
static void | test_read_kernram (void) |
| Test to read from kernel RAM. More...
|
|
static void | test_write_kernram (void) |
| Test to write to kernel RAM. More...
|
|
static void | test_write_kernro (void) |
| Test to write kernel RO. More...
|
|
static void | test_write_kerntext (void) |
| Test to write to kernel text section. More...
|
|
static void | test_read_kernel_data (void) |
| Test to read from kernel data section. More...
|
|
static void | test_write_kernel_data (void) |
| Test to write to kernel data section. More...
|
|
| K_APP_DMEM (default_part) volatile |
| Test to read provileged stack. More...
|
|
static void | test_write_priv_stack (void) |
| Test to write to privilege stack. More...
|
|
static void | test_pass_noperms_object (void) |
| Test to pass object to a system call without permissions. More...
|
|
void | thread_body (void) |
|
static void | test_start_kernel_thread (void) |
| Test to start kernel thread from usermode. More...
|
|
static void | test_read_other_stack (void) |
|
static void | test_write_other_stack (void) |
|
static void | test_revoke_noperms_object (void) |
| Test to revoke access to kobject without permission. More...
|
|
static void | test_access_after_revoke (void) |
| Test to access object after revoking access. More...
|
|
static void | umode_enter_func (void) |
|
static void | test_user_mode_enter (void) |
| Test to check supervisor thread enter one-way to usermode. More...
|
|
| K_PIPE_DEFINE (kpipe, 1, 1) |
|
static void | test_read_kobject_user_pipe (void) |
| Test to read from kobject using pipe. More...
|
|
static void | user_half (void *arg1, void *arg2, void *arg3) |
|
static void | spawn_user (volatile bool *to_modify) |
|
static void | drop_user (volatile bool *to_modify) |
|
static void | test_init_and_access_other_memdomain (void) |
| Test creation of new memory domains. More...
|
|
static void | test_domain_add_thread_drop_to_user (void) |
|
static void | test_domain_add_part_drop_to_user (void) |
|
static void | test_domain_remove_part_drop_to_user (void) |
|
static void | test_domain_add_thread_context_switch (void) |
|
static void | test_domain_add_part_context_switch (void) |
|
static void | test_domain_remove_part_context_switch (void) |
|
void | test_unimplemented_syscall (void) |
| Test unimplemented system call. More...
|
|
void | test_bad_syscall (void) |
| Test bad syscall handler. More...
|
|
void | test_object_recycle (void) |
|
void | test_oops_panic (void) |
|
void | test_oops_oops (void) |
|
void | test_oops_exception (void) |
|
void | test_oops_maxint (void) |
|
void | test_oops_stackcheck (void) |
|
void | test_syscall_context (void) |
|
static void | tls_leakage_user_part (void *p1, void *p2, void *p3) |
|
void | test_tls_leakage (void) |
|
void | tls_entry (void *p1, void *p2, void *p3) |
|
void | test_tls_pointer (void) |
|
void | test_main (void) |
|
static void test_init_and_access_other_memdomain |
( |
void |
| ) |
|
|
static |
Test creation of new memory domains.
We initialize a new memory domain and show that its partition configuration is correct. This new domain has "alt_part" in it, but not "default_part". We then try to modify data in "default_part" and show it produces an exception since that partition is not in the new domain.
This caught a bug once where an MMU system copied page tables for the new domain and accidentally copied memory partition permissions from the source page tables, allowing the write to "default_part" to work.