nuttx/binfmt
Ville Juven 9af8b740e6 Elf loader: give temporary write access to user .text memory
When the .elf file is loaded from disk, the kernel must be given write
access to the allocated .text section in the task's address environment.

The access is removed after the elf is loaded and relocations are done.

NOTE:
The reason this works for the ARM implementation, is that the ARM MMU
can be configured to give write access for the privileged mode, but
revoke write access for the user mode.

Regardless, it would be smart to revoke write access even for the
kernel, when the kernel does not need it. This framework allows doing
that, if someone wishes to take up the task.
2022-05-03 21:25:25 +09:00
..
libelf Elf loader: give temporary write access to user .text memory 2022-05-03 21:25:25 +09:00
libnxflat net: use HTONS, NTOHS, HTONL, NTOHL macro in kernel code 2022-01-18 10:59:47 +01:00
binfmt_copyargv.c binfmt: Move argv copy into exec_module 2021-06-02 15:20:38 +09:00
binfmt_coredump.c binfmt/elf: add bare metal coredump support 2021-11-23 20:48:00 -06:00
binfmt_dumpmodule.c binfmt: Remove filename/exports/nexports from binary_s 2021-06-02 15:20:38 +09:00
binfmt_exec.c sched/task: Implement execle and execve 2022-04-22 10:40:31 +03:00
binfmt_execmodule.c binfmt_execmodule: Use heap size getter for print 2022-05-02 17:06:08 +08:00
binfmt_execsymtab.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt_exit.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt_globals.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt_initialize.c binfmt: Decouple builtin from binfs file system 2022-02-14 09:35:35 -03:00
binfmt_loadmodule.c Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
binfmt_register.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt_unloadmodule.c binfmt: Replace all nx_ API with file_ API 2021-07-06 11:18:13 +09:00
binfmt_unregister.c Author: Gregory Nutt: update licenses to Apache 2021-02-05 12:15:56 -03:00
binfmt.h env_dup: Fix copying of env between address environments 2022-04-21 18:38:37 +08:00
builtin.c binfmt: Decouple builtin from binfs file system 2022-02-14 09:35:35 -03:00
elf.c binfmt/libelf: Implement sh_addralign handling 2022-01-28 16:23:23 +08:00
Kconfig Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
Makefile binfmt/elf: add bare metal coredump support 2021-11-23 20:48:00 -06:00
nxflat.c binfmt/elf: add bare metal coredump support 2021-11-23 20:48:00 -06:00