Andreas Kling
257fa80312
Kernel: Use TRY() in sys$set_thread_name()
2021-09-05 18:15:05 +02:00
Andreas Kling
afc5bbd56b
Kernel: Use TRY() in sys$write()
2021-09-05 18:15:05 +02:00
Andreas Kling
17933b193a
Kernel: Use TRY() in sys$perf_register_string()
2021-09-05 18:15:05 +02:00
Andreas Kling
77b7a44691
Kernel: Use TRY() in sys$recvfd()
2021-09-05 18:15:05 +02:00
Andreas Kling
ea911bc125
Kernel: Use TRY() in sys$pledge()
2021-09-05 18:15:05 +02:00
Andreas Kling
95e74d1776
Kernel: Use TRY() even more in sys$mmap() and friends :^)
2021-09-05 18:15:05 +02:00
Andreas Kling
cf2c04eb13
Kernel: Use TRY() in sys$dbgputstr()
2021-09-05 18:15:05 +02:00
Andreas Kling
6dddd500bf
Kernel: Use TRY() in sys$map_time_page()
2021-09-05 18:15:05 +02:00
Andreas Kling
d53c60fd9f
Kernel: Use TRY() in sys$setkeymap()
2021-09-05 18:15:05 +02:00
Andreas Kling
1f475f7bbc
Kernel: Use TRY() in sys$realpath()
2021-09-05 18:15:05 +02:00
Andreas Kling
4ea3dc77f0
Kernel: Use TRY() in sys$statvfs()
2021-09-05 18:15:05 +02:00
Andreas Kling
7efa742a39
Kernel: Use TRY() in sys$stat()
2021-09-05 17:58:08 +02:00
Andreas Kling
de2c1bc5c3
Kernel: Use TRY() in sys$unlink()
2021-09-05 17:56:40 +02:00
Andreas Kling
4e4b7c272c
Kernel: Use TRY() in sys$readlink()
2021-09-05 17:55:43 +02:00
Andreas Kling
e0cf9152ca
Kernel: Use TRY() in sys$rmdir()
2021-09-05 17:54:33 +02:00
Andreas Kling
780737de7a
Kernel: Use TRY() in sys$rename()
2021-09-05 17:53:59 +02:00
Andreas Kling
c5d046c23a
Kernel: Use TRY() in sys$utime()
2021-09-05 17:53:28 +02:00
Andreas Kling
789db813d3
Kernel: Use copy_typed_from_user<T> for fetching syscall parameters
2021-09-05 17:51:37 +02:00
Andreas Kling
48a0b31c47
Kernel: Make copy_{from,to}_user() return KResult and use TRY()
...
This makes EFAULT propagation flow much more naturally. :^)
2021-09-05 17:38:37 +02:00
Andreas Kling
9903f5c6ef
Kernel: Use TRY() in sys$read() and sys$readv()
2021-09-05 16:25:40 +02:00
Andreas Kling
c1e18befe8
Kernel: Reorder sys$pipe() to fail more nicely
...
Try to do both FD allocations up front instead of interleaved between
assigning them to the descriptor table. This prevents us from failing
in the middle of setting up the pipes.
2021-09-05 16:25:40 +02:00
Andreas Kling
4483110990
Kernel: Use TRY() in sys$open()
2021-09-05 16:25:40 +02:00
Andreas Kling
b01e4b171d
Kernel: Use TRY() in sys$mknod()
2021-09-05 16:25:40 +02:00
Andreas Kling
2658ab4a80
Kernel: Use TRY() in sys$mkdir()
2021-09-05 16:25:40 +02:00
Andreas Kling
e899ea459c
Kernel: Use TRY() in sys$lseek()
2021-09-05 16:25:40 +02:00
Andreas Kling
f605cd04b6
Kernel: Use TRY() in sys$fork()
...
There's a lot of work to do on improving error propagation in the
fork system call. This just scratches the surface.
2021-09-05 16:25:40 +02:00
Andreas Kling
29bafec43b
Kernel: Use is_error() in sys$fcntl()
2021-09-05 16:25:40 +02:00
Andreas Kling
c767e20f91
Kernel: Use TRY() in sys$chown()
2021-09-05 16:25:40 +02:00
Andreas Kling
24e8ad5ade
Kernel: Use TRY() in sys$chmod()
2021-09-05 16:25:40 +02:00
Andreas Kling
aa4d5817af
Kernel: Use TRY() in sys$ptrace()
2021-09-05 16:25:40 +02:00
Andreas Kling
4a2b0f6bec
Kernel: Use TRY() in sys$access()
2021-09-05 16:25:40 +02:00
Andreas Kling
f8fba5f017
Kernel: Use TRY() in sys$socket() and friends
2021-09-05 16:25:40 +02:00
Andreas Kling
83fed5b2de
Kernel: Tidy up Memory::AddressSpace construction
...
- Return KResultOr<T> in places
- Propagate errors
- Use TRY()
2021-09-05 15:13:20 +02:00
Andreas Kling
f2f5df793a
Kernel: Use TRY() in sys$chdir()
2021-09-05 14:41:13 +02:00
Andreas Kling
8cd4879946
Kernel: Use TRY() in sys$link() and sys$symlink()
2021-09-05 14:38:28 +02:00
Andreas Kling
c902b3cb0d
Kernel: Use TRY() in sys$anon_create()
2021-09-05 14:36:40 +02:00
Andreas Kling
4012099338
Kernel: Tidy up AnonymousFile construction a bit
...
- Rename create() => try_create()
- Use adopt_nonnull_ref_or_enomem()
2021-09-05 14:33:25 +02:00
Andreas Kling
9a1fdb523f
Kernel: Use TRY() in sys$unveil()
2021-09-05 14:30:08 +02:00
Andreas Kling
36efecf3c3
Kernel: Use try in sys$mmap() and friends :^)
2021-09-05 14:27:41 +02:00
Andreas Kling
6bf901b414
Kernel: Use TRY() in sys$execve()
...
There are more opportunities to use TRY() here, but it will require
improvements to error propagation first.
2021-09-05 14:20:03 +02:00
Andreas Kling
68a6d4c30a
Kernel: Tidy up InodeWatcher construction
...
- Rename create() => try_create()
- Use adopt_nonnull_ref_or_enomem()
2021-09-05 01:10:56 +02:00
Andreas Kling
ac85fdeb1c
Kernel: Handle ProcessGroup allocation failures better
...
- Rename create* => try_create*
- Don't null out existing process group on allocation failure
2021-09-04 23:11:04 +02:00
Andreas Kling
12f820eb08
Kernel: Make Process::try_create() propagate errors better
2021-09-04 23:11:04 +02:00
Andreas Kling
5e2e17c38c
Kernel: Rename Process::create() => try_create()
2021-09-04 23:11:03 +02:00
Daniel Bertalan
d7b6cc6421
Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr
...
Our existing implementation did not check the element type of the other
pointer in the constructors and move assignment operators. This meant
that some operations that would require explicit casting on raw pointers
were done implicitly, such as:
- downcasting a base class to a derived class (e.g. `Kernel::Inode` =>
`Kernel::ProcFSDirectoryInode` in Kernel/ProcFS.cpp),
- casting to an unrelated type (e.g. `Promise<bool>` => `Promise<Empty>`
in LibIMAP/Client.cpp)
This, of course, allows gross violations of the type system, and makes
the need to type-check less obvious before downcasting. Luckily, while
adding the `static_ptr_cast`s, only two truly incorrect usages were
found; in the other instances, our casts just needed to be made
explicit.
2021-09-03 23:20:23 +02:00
Brian Gianforcaro
668c429900
Kernel: Convert UserOrKernelBuffer callbacks to use AK::Bytes
2021-09-01 18:06:14 +02:00
Brian Gianforcaro
f3baa5d8c9
Kernel: Convert random bytes interface to use AK::Bytes
2021-09-01 18:06:14 +02:00
Andrew Kaster
fcdd7aa990
Kernel: Only unlock Mutex once in execve when PT_TRACE_ME is enabled
...
Fixes a regression introduced in 70518e6
. Fixes #9704 .
2021-09-01 13:36:26 +02:00
Andreas Kling
5046a1fe38
Kernel: Ignore zero-sized PT_LOAD headers when loading ELF images
2021-08-31 16:46:16 +02:00
Andreas Kling
68bf6db673
Kernel: Rename Spinlock::is_owned_by_current_thread()
...
...to is_owned_by_current_processor(). As Tom pointed out, this is
much more accurate. :^)
2021-08-29 22:19:42 +02:00