1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 10:47:35 +00:00

Kernel: Rename VMObject::clone() => try_clone()

And fix an unsafe dereference in SharedInodeVMObject::try_clone()
to make it OOM-safe.
This commit is contained in:
Andreas Kling 2021-07-11 19:07:00 +02:00
parent d85bce57b3
commit f244a25f71
11 changed files with 13 additions and 13 deletions

View file

@ -245,7 +245,7 @@ KResultOr<Region*> VirtIOFrameBufferDevice::mmap(Process& process, FileDescripti
if (m_userspace_mmap_region)
return ENOMEM;
auto vmobject = m_are_writes_active ? m_framebuffer->vmobject().clone() : m_framebuffer_sink_vmobject;
auto vmobject = m_are_writes_active ? m_framebuffer->vmobject().try_clone() : m_framebuffer_sink_vmobject;
if (vmobject.is_null())
return ENOMEM;
@ -267,7 +267,7 @@ void VirtIOFrameBufferDevice::deactivate_writes()
m_are_writes_active = false;
if (m_userspace_mmap_region) {
auto* region = m_userspace_mmap_region.unsafe_ptr();
auto vm_object = m_framebuffer_sink_vmobject->clone();
auto vm_object = m_framebuffer_sink_vmobject->try_clone();
VERIFY(vm_object);
region->set_vmobject(vm_object.release_nonnull());
region->remap();