1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 17:55:06 +00:00

Kernel: Make Memory::Region allocation functions return KResultOr

This makes for some nicer handling of errors compared to checking an
OwnPtr for null state.
This commit is contained in:
sin-ack 2021-08-15 10:11:05 +00:00 committed by Andreas Kling
parent 4bfd6e41b9
commit 0a18425cbb
5 changed files with 45 additions and 38 deletions

View file

@ -743,9 +743,12 @@ OwnPtr<Region> MemoryManager::allocate_kernel_region(PhysicalAddress paddr, size
OwnPtr<Region> MemoryManager::allocate_kernel_region_with_vmobject(VirtualRange const& range, VMObject& vmobject, StringView name, Region::Access access, Region::Cacheable cacheable)
{
auto region = Region::try_create_kernel_only(range, vmobject, 0, KString::try_create(name), access, cacheable);
if (region)
region->map(kernel_page_directory());
auto maybe_region = Region::try_create_kernel_only(range, vmobject, 0, KString::try_create(name), access, cacheable);
if (maybe_region.is_error())
return {};
auto region = maybe_region.release_value();
region->map(kernel_page_directory());
return region;
}