64d8249895
Instead of using a volatile storage for the address environment in the binfmt / loadinfo structures, always allocate the address environment from kheap. This serves two purposes: - If the task creation fails, any kernel thread that depends on the address environment created during task creation will not lose their mappings (because they hold a reference to it) - The current address environment variable (g_addrenv) will NEVER contain a stale / incorrect value - Releasing the address environment is simplified as any pointer given to addrenv_drop() can be assumed to be heap memory - Makes the kludge function addrenv_clear_current irrelevant, as the system will NEVER have invalid mappings any more |
||
---|---|---|
.. | ||
libelf | ||
libnxflat | ||
binfmt_copyargv.c | ||
binfmt_coredump.c | ||
binfmt_dumpmodule.c | ||
binfmt_exec.c | ||
binfmt_execmodule.c | ||
binfmt_execsymtab.c | ||
binfmt_exit.c | ||
binfmt_globals.c | ||
binfmt_initialize.c | ||
binfmt_loadmodule.c | ||
binfmt_register.c | ||
binfmt_unloadmodule.c | ||
binfmt_unregister.c | ||
binfmt.h | ||
builtin.c | ||
elf.c | ||
Kconfig | ||
Makefile | ||
nxflat.c |