zephyr/kernel
Andrew Boie 7ecc359f2c userspace: do not auto-cleanup static objects
Dynamic kernel objects enforce that the permission state
of an object is also a reference count; using a kernel
object without permission regardless of caller privilege
level is a programming bug.

However, this is not the case for static objects. In
particular, supervisor threads are allowed to use any
object they like without worrying about permissions, and
the logic here was causing cleanup functions to be called
over and over again on kernel objects that were actually
in use.

The automatic cleanup mechanism was intended for
dynamic objects anyway, so just skip it entirely for
static objects.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2019-02-08 07:04:30 -05:00
..
include
atomic_c.c
CMakeLists.txt
compiler_stack_protect.c
device.c
errno.c
idle.c kernel: fix smp build on esp32 2019-02-04 18:16:58 -05:00
init.c kernel/sched: CPU mask affinity/pinning API 2019-02-01 21:37:24 -05:00
int_latency_bench.c
Kconfig kernel/sched: CPU mask affinity/pinning API 2019-02-01 21:37:24 -05:00
Kconfig.power_mgmt
mailbox.c
mem_domain.c kernel: mem_domain: extend sane_partition for non-overlapping regions 2019-02-05 09:28:59 -08:00
mem_slab.c kernel: Enforce k_mem_slab block size alignment 2019-02-06 07:18:45 -05:00
mempool.c
msg_q.c
mutex.c
pipes.c
poll.c
queue.c
sched.c kernel/sched: fix CPU mask kconfig typo 2019-02-04 15:53:09 -05:00
sem.c
smp.c
stack.c
system_work_q.c
thread_abort.c
thread.c kernel/sched: CPU mask affinity/pinning API 2019-02-01 21:37:24 -05:00
timeout.c
timer.c
userspace_handler.c
userspace.c userspace: do not auto-cleanup static objects 2019-02-08 07:04:30 -05:00
version.c
work_q.c