ladybird/Kernel/Syscalls
Tom 538b985487 Kernel: Remove ProcessInspectionHandle and make Process RefCounted
By making the Process class RefCounted we don't really need
ProcessInspectionHandle anymore. This also fixes some race
conditions where a Process may be deleted while still being
used by ProcFS.

Also make sure to acquire the Process' lock when accessing
regions.

Last but not least, there's no reason why a thread can't be
scheduled while being inspected, though in practice it won't
happen anyway because the scheduler lock is held at the same
time.
2020-08-02 17:15:11 +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: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
chown.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
chroot.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
clock.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
debug.cpp Kernel: Use Userspace<T> in more syscalls 2020-08-01 11:37:40 +02:00
dup.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
execve.cpp Kernel: Turn Process::FileDescriptionAndFlags into a proper class 2020-07-30 23:50:31 +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: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
ftruncate.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
futex.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +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: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
getuid.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
hostname.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
ioctl.cpp Kernel: Remove SmapDisabler in sys$ioctl() 2020-07-31 00:17:25 +02:00
kill.cpp Kernel: Remove ProcessInspectionHandle and make Process RefCounted 2020-08-02 17:15:11 +02:00
link.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +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: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
mmap.cpp Kernel: Rename region_from_foo() => find_region_from_foo() 2020-07-30 23:52:28 +02:00
module.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
mount.cpp Kernel: Add missing license headers to some syscall files 2020-07-31 01:01:41 +02:00
open.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +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: Use Userspace<T> in more syscalls 2020-08-01 11:37:40 +02:00
profiling.cpp Kernel: Remove ProcessInspectionHandle and make Process RefCounted 2020-08-02 17:15:11 +02:00
ptrace.cpp Kernel: Use Userspace<T> in ptrace syscall 2020-08-02 00:29:04 +02:00
purge.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
read.cpp Kernel+AK: Add and use Userspace<T>::unsafe_userspace_ptr() 2020-07-31 20:56:48 +02:00
readlink.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
realpath.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
rename.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
rmdir.cpp Kernel: Convert some more syscalls to Userspace<T> 2020-08-02 11:01:00 +02:00
sched.cpp Kernel: Remove ProcessInspectionHandle and make Process RefCounted 2020-08-02 17:15:11 +02:00
select.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
sendfd.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
setkeymap.cpp Kernel: Use Userspace<T> in setkeymap syscall 2020-08-02 10:56:33 +02:00
setpgid.cpp Kernel: Remove ProcessInspectionHandle and make Process RefCounted 2020-08-02 17:15:11 +02:00
setuid.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
shbuf.cpp Kernel: Remove ProcessInspectionHandle and make Process RefCounted 2020-08-02 17:15:11 +02:00
shutdown.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
sigaction.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
sleep.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
socket.cpp Kernel: Add missing license headers to some syscall files 2020-07-31 01:01:41 +02:00
stat.cpp Kernel: Use Userspace<T> for sys$read() and sys$stat() 2020-07-31 16:28:37 +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: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
times.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
ttyname.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
umask.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
uname.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
unlink.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
unveil.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00
utime.cpp Kernel: Use Userspace<T> in sys$utime() 2020-07-31 16:38:47 +02:00
waitid.cpp Kernel: Remove ProcessInspectionHandle and make Process RefCounted 2020-08-02 17:15:11 +02:00
watch_file.cpp Kernel: Use Userspace<T> in more syscalls 2020-08-01 11:37:40 +02:00
write.cpp Kernel: Move syscall implementations out of Process.cpp 2020-07-30 23:40:57 +02:00