Andreas Kling
a994f11f10
Kernel: Make AddressSpace::add_region() return KResultOr<Region*>
...
This allows us to use TRY() in a few places.
2021-09-06 02:02:06 +02:00
Andreas Kling
062cc804e7
Kernel: Use TRY() some more in Memory::AddressSpace
2021-09-06 01:59:30 +02:00
Andreas Kling
f4a9a0d561
Kernel: Make VirtualRangeAllocator return KResultOr<VirtualRange>
...
This achieves two things:
- The allocator can report more specific errors
- Callers can (and now do) use TRY() :^)
2021-09-06 01:55:27 +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
5ba10c6017
Kernel: Use TRY() in Memory::AddressSpace
2021-09-05 14:40:18 +02:00
Brian Gianforcaro
485f51690d
Kernel: Always observe the return value of Region::map and remap
...
We have seen cases where the map fails, but we return the region
to the caller, causing them to page fault later on when they touch
the region.
The fix is to always observe the return code of map/remap.
2021-08-25 00:18:42 +02:00
Andreas Kling
c922a7da09
Kernel: Rename ScopedSpinlock => SpinlockLocker
...
This matches MutexLocker, and doesn't sound like it's a lock itself.
2021-08-22 03:34:10 +02:00
Andreas Kling
55adace359
Kernel: Rename SpinLock => Spinlock
2021-08-22 03:34:10 +02:00
Idan Horowitz
cf271183b4
Kernel: Make Process::current() return a Process& instead of Process*
...
This has several benefits:
1) We no longer just blindly derefence a null pointer in various places
2) We will get nicer runtime error messages if the current process does
turn out to be null in the call location
3) GCC no longer complains about possible nullptr dereferences when
compiling without KUBSAN
2021-08-19 23:49:53 +02:00
sin-ack
0a18425cbb
Kernel: Make Memory::Region allocation functions return KResultOr
...
This makes for some nicer handling of errors compared to checking an
OwnPtr for null state.
2021-08-15 15:41:02 +02:00
sin-ack
4bfd6e41b9
Kernel: Make Kernel::VMObject allocation functions return KResultOr
...
This makes for nicer handling of errors compared to checking whether a
RefPtr is null. Additionally, this will give way to return different
types of errors in the future.
2021-08-15 15:41:02 +02:00
Andreas Kling
15d033b486
Kernel: Remove unused Process pointer in Memory::AddressSpace
...
Nobody was using the back-pointer to the process, so let's lose it.
2021-08-08 00:03:45 +02:00
Jean-Baptiste Boric
2c3b0baf76
Kernel: Move SpinLock.h into Locking/
2021-08-07 11:48:00 +02:00
Andreas Kling
47bdd7c3a0
Kernel: Rename a very long enum to ShouldDeallocateVirtualRange
...
ShouldDeallocateVirtualMemoryVirtualRange was a bit on the long side.
2021-08-06 21:45:05 +02:00
Andreas Kling
b7476d7a1b
Kernel: Rename Memory::Space => Memory::AddressSpace
2021-08-06 14:05:58 +02:00