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

Kernel: Use TRY() in Graphics::VirtIOGPU::FrameBufferDevice

This commit is contained in:
Andreas Kling 2021-09-06 02:11:46 +02:00
parent 17a12c8a30
commit f4a6b60570

View file

@ -253,28 +253,22 @@ KResultOr<Memory::Region*> FrameBufferDevice::mmap(Process& process, FileDescrip
RefPtr<Memory::VMObject> vmobject; RefPtr<Memory::VMObject> vmobject;
if (m_are_writes_active) { if (m_are_writes_active) {
auto maybe_vmobject = m_framebuffer->vmobject().try_clone(); vmobject = TRY(m_framebuffer->vmobject().try_clone());
if (maybe_vmobject.is_error())
return maybe_vmobject.error();
vmobject = maybe_vmobject.release_value();
} else { } else {
vmobject = m_framebuffer_sink_vmobject; vmobject = m_framebuffer_sink_vmobject;
if (vmobject.is_null()) if (vmobject.is_null())
return ENOMEM; return ENOMEM;
} }
auto result = process.address_space().allocate_region_with_vmobject( m_userspace_mmap_region = TRY(process.address_space().allocate_region_with_vmobject(
range, range,
vmobject.release_nonnull(), vmobject.release_nonnull(),
0, 0,
"VirtIOGPU Framebuffer", "VirtIOGPU Framebuffer",
prot, prot,
shared); shared));
if (result.is_error())
return result; return m_userspace_mmap_region.unsafe_ptr();
m_userspace_mmap_region = result.value();
return result;
} }
void FrameBufferDevice::deactivate_writes() void FrameBufferDevice::deactivate_writes()