zephyr/kernel
Leandro Pereira db094b8d88 kernel: mem_domain: Check for overlapping regions when considering W^X
Multiple partitions can be added to a domain, and if they overlap, they
can have different attributes.  The previous check would only check for
W^X for individual partitions, and this is insufficient.  Overlapping
partitions could have W^X attributes, but in the end, a memory region
would be writable and executable.

The way this is performed is quite "heavyweight", as it is implemented
in a O(n^2) operation.  The number of partitions per domain is small on
most devices, so this isn't an issue.  CONFIG_EXECUTE_XOR_WRITE is
still an optional feature.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:08:49 +01:00
..
include kernel/kswap.h: Hook event logger from switch-based _Swap 2018-02-16 10:44:29 -05:00
posix kernel: POSIX: correcting default thread prio & policy in attr. 2018-03-01 14:48:20 -08:00
alert.c
atomic_c.c
CMakeLists.txt kernel: POSIX: Compatibility layer for pthread APIs. 2018-02-21 19:17:28 -05:00
compiler_stack_protect.c
device.c
errno.c
idle.c
init.c kernel/include: Missed nano_internal.h -> kernel_internal.h spots 2018-02-16 10:44:29 -05:00
int_latency_bench.c
Kconfig kernel: POSIX: Compatibility layer for POSIX timer APIs. 2018-02-21 19:17:28 -05:00
Kconfig.event_logger
Kconfig.power_mgmt
mailbox.c
mem_domain.c kernel: mem_domain: Check for overlapping regions when considering W^X 2018-03-02 07:08:49 +01:00
mem_slab.c
mempool.c
msg_q.c
mutex.c
pipes.c
poll.c kernel/include: Missed nano_internal.h -> kernel_internal.h spots 2018-02-16 10:44:29 -05:00
queue.c
sched.c
sem.c
smp.c kernel/include: Missed nano_internal.h -> kernel_internal.h spots 2018-02-16 10:44:29 -05:00
stack.c
sys_clock.c
system_work_q.c
thread_abort.c kernel: Allow k_thread_abort(_current) from ISRs 2018-02-16 10:44:29 -05:00
thread.c kernel/include: Missed nano_internal.h -> kernel_internal.h spots 2018-02-16 10:44:29 -05:00
timer.c
userspace_handler.c
userspace.c
version.c
work_q.c