1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 11:34:59 +00:00

Kernel: Make Inode::set_shared_vmobject() OOM-fallible

Allocating a WeakPtr can fail, so this let's us properly propagate said
failure.
This commit is contained in:
Idan Horowitz 2022-02-14 01:46:34 +02:00 committed by Andreas Kling
parent c620f18d8c
commit e37e4a7980
3 changed files with 5 additions and 4 deletions

View file

@ -130,10 +130,11 @@ ErrorOr<void> Inode::decrement_link_count()
return ENOTIMPL;
}
void Inode::set_shared_vmobject(Memory::SharedInodeVMObject& vmobject)
ErrorOr<void> Inode::set_shared_vmobject(Memory::SharedInodeVMObject& vmobject)
{
MutexLocker locker(m_inode_lock);
m_shared_vmobject = vmobject;
m_shared_vmobject = TRY(vmobject.try_make_weak_ptr<Memory::SharedInodeVMObject>());
return {};
}
RefPtr<LocalSocket> Inode::bound_socket() const