1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 19:54:57 +00:00

Kernel: Make Process::allocate_region*() return KResultOr<Region*>

This allows region allocation to return specific errors and we don't
have to assume every failure is an ENOMEM.
This commit is contained in:
Andreas Kling 2021-01-15 17:27:52 +01:00
parent 7899e14e72
commit 64b0d89335
10 changed files with 70 additions and 79 deletions

View file

@ -79,10 +79,7 @@ KResultOr<Region*> InodeFile::mmap(Process& process, FileDescription& descriptio
vmobject = PrivateInodeVMObject::create_with_inode(inode());
if (!vmobject)
return KResult(-ENOMEM);
auto* region = process.allocate_region_with_vmobject(preferred_vaddr, size, *vmobject, offset, description.absolute_path(), prot, shared);
if (!region)
return KResult(-ENOMEM);
return region;
return process.allocate_region_with_vmobject(preferred_vaddr, size, *vmobject, offset, description.absolute_path(), prot, shared);
}
String InodeFile::absolute_path(const FileDescription& description) const