serenity/Kernel/Syscalls
Itamar 6bbd2ebf83 Kernel+LibELF: Support initializing values of TLS data
Previously, TLS data was always zero-initialized.

To support initializing the values of TLS data, sys$allocate_tls now
receives a buffer with the desired initial data, and copies it to the
master TLS region of the process.

The DynamicLinker gathers the initial TLS image and passes it to
sys$allocate_tls.

We also now require the size passed to sys$allocate_tls to be
page-aligned, to make things easier. Note that this doesn't waste memory
as the TLS data has to be allocated in separate pages anyway.
2021-04-30 18:47:39 +02:00
..
access.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
alarm.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
anon_create.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
beep.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
chdir.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
chmod.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
chown.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
chroot.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
clock.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
debug.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
disown.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
dup2.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
emuctl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
execve.cpp Kernel: Harden sys$execve Vector usage against OOM. 2021-04-29 20:31:15 +02:00
exit.cpp Kernel+Profiler: Improve profiling subsystem 2021-04-26 17:13:55 +02:00
fcntl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
fork.cpp Kernel+Profiler: Improve profiling subsystem 2021-04-26 17:13:55 +02:00
ftruncate.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
futex.cpp Kernel: Check futex command if realtime clock is used 2021-04-27 09:19:55 +02:00
get_dir_entries.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
get_stack_bounds.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
getrandom.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
getuid.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
hostname.cpp Kernel: Remove the now defunct LOCKER(..) macro. 2021-04-25 09:38:27 +02:00
ioctl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
keymap.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
kill.cpp Kernel: Don't allow to kill kernel processes 2021-04-23 13:26:02 +02:00
link.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
lseek.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mkdir.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mknod.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mmap.cpp Kernel+LibELF: Support initializing values of TLS data 2021-04-30 18:47:39 +02:00
module.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mount.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
open.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
perf_event.cpp Kernel+Profiler: Improve profiling subsystem 2021-04-26 17:13:55 +02:00
pipe.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
pledge.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
prctl.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
process.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
profiling.cpp Kernel+Profiler: Improve profiling subsystem 2021-04-26 17:13:55 +02:00
ptrace.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
purge.cpp Kernel: Harden sys$purge Vector usage against OOM. 2021-04-29 20:31:15 +02:00
read.cpp Kernel: Harden sys$readv / sys$writev Vector usage against OOM. 2021-04-29 20:31:15 +02:00
readlink.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
realpath.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
rename.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
rmdir.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sched.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
select.cpp Kernel: Harden sys$select Vector usage against OOM. 2021-04-29 20:31:15 +02:00
sendfd.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
setpgid.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
setuid.cpp Kernel/LibC: Implement setreuid 2021-04-30 11:35:17 +02:00
shutdown.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sigaction.cpp Kernel: Support null act argument for sigaction syscall 2021-04-24 23:00:28 +02:00
socket.cpp Kernel: Accepted socket file descriptors should not inherit flags 2021-04-30 11:43:19 +02:00
stat.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sync.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sysconf.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
thread.cpp Kernel: Fix incorrect argument for thread_exit events 2021-04-26 23:26:58 +02:00
times.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ttyname.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
umask.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
uname.cpp Kernel: Remove the now defunct LOCKER(..) macro. 2021-04-25 09:38:27 +02:00
unlink.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
unveil.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utime.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
waitid.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
watch_file.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
write.cpp Kernel: Harden sys$readv / sys$writev Vector usage against OOM. 2021-04-29 20:31:15 +02:00