瀏覽代碼

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

Andreas Kling 3 年之前
父節點
當前提交
f4a6b60570
共有 1 個文件被更改,包括 5 次插入11 次删除
  1. 5 11
      Kernel/Graphics/VirtIOGPU/FrameBufferDevice.cpp

+ 5 - 11
Kernel/Graphics/VirtIOGPU/FrameBufferDevice.cpp

@@ -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()