1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 15:05:08 +00:00
serenity/Kernel/Syscalls
Itamar 3b422564f3 Kernel: Fix behaviour of PT_TRACEME in ptrace
The behaviour of the PT_TRACEME feature has been broken for some time,
this change fixes it.

When this ptrace flag is used, the traced process should be paused
before exiting execve.
We previously were sending the SIGSTOP signal at a stage where
interrupts are disabled, and the traced process continued executing
normally, without pausing and waiting for the tracer.
This change fixes it.
2020-08-15 15:06:35 +02:00
..
access.cpp Kernel: Convert some more syscalls to Userspace<T> 2020-08-02 11:01:00 +02:00
alarm.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
beep.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
chdir.cpp Kernel: Use Userspace<T> in sys$getcwd() and sys$chdir() 2020-07-31 16:34:47 +02:00
chmod.cpp Kernel: Use Userspace<T> for the chmod syscall 2020-08-10 12:52:15 +02:00
chown.cpp Kernel: Use Userspace<T> for the chown syscall 2020-08-07 16:18:36 +02:00
chroot.cpp Kernel: Use Userspace<T> for the chroot syscall 2020-08-10 12:52:15 +02:00
clock.cpp Kernel: Use Userspace<T> for the clock_settime syscall 2020-08-10 12:52:15 +02:00
debug.cpp Kernel: Use Userspace<T> in more syscalls 2020-08-01 11:37:40 +02:00
disown.cpp Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
dup2.cpp Kernel+LibC+UserspaceEmulator: Bring back sys$dup2() 2020-08-15 11:11:34 +02:00
execve.cpp Kernel: Fix behaviour of PT_TRACEME in ptrace 2020-08-15 15:06:35 +02:00
exit.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
fcntl.cpp Kernel: Turn Process::FileDescriptionAndFlags into a proper class 2020-07-30 23:50:31 +02:00
fork.cpp Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
ftruncate.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
futex.cpp Kernel: Mark compilation-unit-only functions as static 2020-08-12 20:40:59 +02:00
get_dir_entries.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
get_stack_bounds.cpp Kernel: Rename region_from_foo() => find_region_from_foo() 2020-07-30 23:52:28 +02:00
getrandom.cpp Kernel: Use Userspace<T> for the getrandom syscall 2020-08-10 12:52:15 +02:00
getuid.cpp Kernel: Use Userspace<T> for the getresgid syscall 2020-08-10 12:52:15 +02:00
hostname.cpp Kernel: Use Userspace<T> for the sethostname syscall 2020-08-10 12:52:15 +02:00
ioctl.cpp Kernel: Remove SmapDisabler in sys$ioctl() 2020-07-31 00:17:25 +02:00
kill.cpp Kernel: More PID/TID typing 2020-08-10 11:51:45 +02:00
link.cpp Kernel: Use Userspace<T> in sys$link() and sys$symlink() 2020-08-03 18:40:28 +02:00
lseek.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
mkdir.cpp Kernel: Convert some more syscalls to Userspace<T> 2020-08-02 11:01:00 +02:00
mknod.cpp Kernel: Use Userspace<T> for the mknod syscall 2020-08-05 09:36:53 +02:00
mmap.cpp Kernel: Use Userspace<T> for the set_mmap_name syscall 2020-08-05 09:36:53 +02:00
module.cpp Kernel: Make Inode::read_entire() return a KBuffer (not ByteBuffer) 2020-08-11 20:29:14 +02:00
mount.cpp Kernel: Use Userspace<T> for the umount syscall 2020-08-10 12:52:15 +02:00
open.cpp Kernel: Use Userspace<T> for the open syscall 2020-08-05 09:36:53 +02:00
perf_event.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
pipe.cpp Kernel: Turn Process::FileDescriptionAndFlags into a proper class 2020-07-30 23:50:31 +02:00
pledge.cpp Kernel: Use Userspace<T> in pledge syscall 2020-08-02 10:56:43 +02:00
process.cpp Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
profiling.cpp Kernel: Remove ProcessInspectionHandle and make Process RefCounted 2020-08-02 17:15:11 +02:00
ptrace.cpp Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
purge.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
read.cpp Kernel: Make File::write() and File::read() return KResultOr<size_t> 2020-08-04 18:17:16 +02:00
readlink.cpp Kernel: Use Userspace<T> for the readlink syscall 2020-08-05 09:36:53 +02:00
realpath.cpp Kernel: Use Userspace<T> for the realpath syscall 2020-08-07 16:18:36 +02:00
rename.cpp Kernel: Use Userspace<T> for the rename syscall 2020-08-05 09:36:53 +02:00
rmdir.cpp Kernel: Convert some more syscalls to Userspace<T> 2020-08-02 11:01:00 +02:00
sched.cpp Kernel: More PID/TID typing 2020-08-10 11:51:45 +02:00
select.cpp Kernel: Partial usage of Userspace<T> for the poll syscall 2020-08-06 10:22:44 +02:00
sendfd.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
setkeymap.cpp Kernel+LibKeyboard: Store the keymap name when setting system keymap 2020-08-06 17:45:06 +02:00
setpgid.cpp Kernel: Allow moving a process to a new pgrp via setpgid() 2020-08-12 11:41:18 +02:00
setuid.cpp Kernel: Use Userspace<T> for the setgroups syscall 2020-08-10 12:52:15 +02:00
shbuf.cpp Kernel: Use Userspace<T> for the shbuf_get syscall 2020-08-10 12:52:15 +02:00
shutdown.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
sigaction.cpp Kernel: Use Userspace<T> for the sigpending syscall 2020-08-10 12:52:15 +02:00
sleep.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
socket.cpp Kernel: Use Userspace<T> for the connect syscall 2020-08-10 12:52:15 +02:00
stat.cpp Kernel: Use Userspace<T> for the fstat syscall 2020-08-10 12:52:15 +02:00
sync.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
sysconf.cpp Kernel: Add _SC_PAGESIZE to sysconf 2020-07-31 18:26:33 +02:00
thread.cpp Kernel: Use Userspace<T> for the exit_thread syscall 2020-08-10 12:52:15 +02:00
times.cpp Kernel: Use Userspace<T> for the times syscall 2020-08-10 12:52:15 +02:00
ttyname.cpp Kernel+LibC: Tidy up sys$ttyname() and sys$ptsname() 2020-08-04 18:17:16 +02:00
umask.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
uname.cpp Kernel: Use Userspace<T> for the uname syscall 2020-08-10 12:52:15 +02:00
unlink.cpp Kernel: Use Userspace<T> for the unlink syscall 2020-08-10 12:52:15 +02:00
unveil.cpp Kernel: Use for-each loops in unveil syscall 2020-08-03 12:54:51 +02:00
utime.cpp Kernel: Use Userspace<T> in sys$utime() 2020-07-31 16:38:47 +02:00
waitid.cpp Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
watch_file.cpp Kernel: Use Userspace<T> in more syscalls 2020-08-01 11:37:40 +02:00
write.cpp Kernel: Make File::write() and File::read() return KResultOr<size_t> 2020-08-04 18:17:16 +02:00