|
@@ -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();
|
|
|
|
- if (maybe_vmobject.is_error())
|
|
|
|
- return maybe_vmobject.error();
|
|
|
|
-
|
|
|
|
- vmobject = maybe_vmobject.release_value();
|
|
|
|
|
|
+ vmobject = TRY(m_framebuffer->vmobject().try_clone());
|
|
} 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);
|
|
|
|
- if (result.is_error())
|
|
|
|
- return result;
|
|
|
|
- m_userspace_mmap_region = result.value();
|
|
|
|
- return result;
|
|
|
|
|
|
+ shared));
|
|
|
|
+
|
|
|
|
+ return m_userspace_mmap_region.unsafe_ptr();
|
|
}
|
|
}
|
|
|
|
|
|
void FrameBufferDevice::deactivate_writes()
|
|
void FrameBufferDevice::deactivate_writes()
|