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:
parent
17a12c8a30
commit
f4a6b60570
1 changed files with 5 additions and 11 deletions
|
@ -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()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue