Brian Gianforcaro
20e2a5c111
Kernel: Use Userspace<T> for the module_unload syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
c4927ceb08
Kernel: Use Userspace<T> for the module_load syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
b5a2a215f6
Kernel: Use Userspace<T> for the getrandom syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
c8ae244ab8
Kernel: Use Userspace<T> for the shbuf_get syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
e073f2b59e
Kernel: Use Userspace<T> for the get_thread_name syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
9652b0ae2b
Kernel: Use Userspace<T> for the set_thread_name syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
0e20a6df0a
Kernel: Use Userspace<T> for the connect syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
8bd9dbc220
Kernel: Use Userspace<T> for the accept syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
02660b5d60
Kernel: Use Userspace<T> for the bind syscall, and implementation
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
2bac7190c8
Kernel: Use Userspace<T> for the chmod syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
82bf6e8133
Kernel: Use Userspace<T> for the umount syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
317800324c
Kernel: Use Userspace<T> for the unlink syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
ecfe20efd2
Kernel: Use Userspace<T> for the sigpending syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
fbb26b28b9
Kernel: Use Userspace<T> for the sigprocmask syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
431145148e
Kernel: Use Userspace<T> for the fstat syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
8dd78201a4
Kernel: Use Userspace<T> for the uname syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
cfedd62b5c
Kernel: Use Userspace<T> for the sethostname syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
1d9554f470
Kernel: Use Userspace<T> for the gethostname syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
b069d757a3
Kernel: Use Userspace<T> for the clock_settime syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
1be6145fdf
Kernel: Modifiy clock_settime timespec argument to const
...
The timeppec paramter is read only, and should be const.
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
b4d04fd8d1
Kernel: Use Userspace<T> for the clock_gettime syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
48d9f3c2e6
Kernel: Use Userspace<T> for the getresgid syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
3ca18a88d7
Kernel: Use Userspace<T> for the getresuid syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
7943655838
Kernel: Use Userspace<T> for the times syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
e7728ca8fd
Kernel: Use Userspace<T> for the getgroups syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
80011cd62d
Kernel: Use Userspace<T> for the setgroups syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
0f42463eab
Kernel: Use Userspace<T> for the execve syscall
2020-08-10 12:52:15 +02:00
Ben Wiederhake
bee08a4b9f
Kernel: More PID/TID typing
2020-08-10 11:51:45 +02:00
Ben Wiederhake
7bdf54c837
Kernel: PID/PGID typing
...
This compiles, and fixes two bugs:
- setpgid() confusion (see previous commit)
- tcsetpgrp() now allows to set a non-empty process group even if
the group leader has already died. This makes Serenity slightly
more POSIX-compatible.
2020-08-10 11:51:45 +02:00
Ben Wiederhake
f5744a6f2f
Kernel: PID/TID typing
...
This compiles, and contains exactly the same bugs as before.
The regex 'FIXME: PID/' should reveal all markers that I left behind, including:
- Incomplete conversion
- Issues or things that look fishy
- Actual bugs that will go wrong during runtime
2020-08-10 11:51:45 +02:00
Brian Gianforcaro
35c745ca54
Kernel: Use Userspace<T> for the realpath syscall
2020-08-07 16:18:36 +02:00
Brian Gianforcaro
30b2c0dc85
Kernel: Use Userspace<T> for the getsockopt syscall and Socket interface
...
The way getsockopt is implemented for socket types requires us to push
down Userspace<T> using into those interfaces. This change does so, and
utilizes proper copy implementations instead of the kind of haphazard
pointer dereferencing that was occurring there before.
2020-08-07 16:18:36 +02:00
Brian Gianforcaro
6920d5f423
Kernel: Use Userspace<T> for the setsockopt syscall
2020-08-07 16:18:36 +02:00
Brian Gianforcaro
8fa46bcb7d
Kernel: Use Userspace<T> for the getsockname syscall
2020-08-07 16:18:36 +02:00
Brian Gianforcaro
dc75ea9fc2
Kernel: Use Userspace<T> for the getpeername syscall
2020-08-07 16:18:36 +02:00
Brian Gianforcaro
0db669a9d2
Kernel: Use Userspace<T> for the chown syscall
2020-08-07 16:18:36 +02:00
Brian Gianforcaro
7e7ee2ec94
Kernel: Use Userspace<T> for the mount syscall
2020-08-07 16:18:36 +02:00
Valtteri Koskivuori
00a0e525e6
Kernel+LibKeyboard: Store the keymap name when setting system keymap
...
This way we can query the kernel to see which keymap is currently in use.
2020-08-06 17:45:06 +02:00
Brian Gianforcaro
7e6fbef8db
Kernel: Partial usage of Userspace<T> for the poll syscall
...
This change mostly converts poll to Userspace<T> with the caveat
of the fds member of SC_poll_params. It's current usage is a bit
too gnarly for me to take on right now, this appears to need a lot
more love.
In addition to enlightening the syscall to use Userspace<T>, I've
also re-worked most of the handling to use validate_read_and_copy
instead of just directly de-referencing the user pointer. We also
appeared to be missing a re-evaluation of the fds array after the
thread block is awoken.
2020-08-06 10:22:44 +02:00
Brian Gianforcaro
946c96dd56
Kernel: Suppress remaining unobserved KResult return codes
...
These are all cases where there is no clear and easy fix,
I've left FIXME bread crumbs so that these can hopefully
be fixed over time.
2020-08-05 14:36:48 +02:00
Brian Gianforcaro
fa666f6897
Kernel: Use Userspace<T> for the futex syscall
...
Utilizie Userspace<T> for the syscall argument itself, as well
as internally in the SC_futex_params struct.
We were double validating the SC_futex_params.timeout validation,
that was removed as well.
2020-08-05 13:03:50 +02:00
Brian Gianforcaro
7490ea9449
Kernel + LibPthread: Use Userspace<T> in the create_thread syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
337e8f98cd
Kernel: Use Userspace<T> for the rename syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
c1541f4a61
Kernel: Use Userspace<T> for the mknod syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
d949b2a367
Kernel: Use Userspace<T> for the set_mmap_name syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
7449921f53
Kernel: Use Userspace<T> for the readlink syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
901dae0227
Kernel: Use Userspace<T> for the mmap syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
74d3b202f1
Kernel: Use Userspace<T> for the waitid syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
84035e1035
Kernel: Use Userspace<T> for the clock_nanosleep syscall
2020-08-05 09:36:53 +02:00
Brian Gianforcaro
baa070afb8
Kernel: Use Userspace<T> for the gettimeofday syscall
2020-08-05 09:36:53 +02:00