mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:38:11 +00:00
Kernel: Make VirtualRangeAllocator return KResultOr<VirtualRange>
This achieves two things: - The allocator can report more specific errors - Callers can (and now do) use TRY() :^)
This commit is contained in:
parent
21f7932ae2
commit
f4a9a0d561
9 changed files with 82 additions and 95 deletions
|
@ -17,11 +17,8 @@ KResultOr<FlatPtr> Process::sys$map_time_page()
|
|||
|
||||
auto& vmobject = TimeManagement::the().time_page_vmobject();
|
||||
|
||||
auto range = address_space().page_directory().range_allocator().allocate_randomized(PAGE_SIZE, PAGE_SIZE);
|
||||
if (!range.has_value())
|
||||
return ENOMEM;
|
||||
|
||||
auto* region = TRY(address_space().allocate_region_with_vmobject(range.value(), vmobject, 0, "Kernel time page"sv, PROT_READ, true));
|
||||
auto range = TRY(address_space().page_directory().range_allocator().try_allocate_randomized(PAGE_SIZE, PAGE_SIZE));
|
||||
auto* region = TRY(address_space().allocate_region_with_vmobject(range, vmobject, 0, "Kernel time page"sv, PROT_READ, true));
|
||||
return region->vaddr().get();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue