瀏覽代碼

Kernel: Fix accidental overlaps in RegionTree::allocate_range_specific()

Thanks to Idan for spotting this! :^)
Andreas Kling 3 年之前
父節點
當前提交
9765f9f67e
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      Kernel/Memory/RegionTree.cpp

+ 1 - 1
Kernel/Memory/RegionTree.cpp

@@ -90,7 +90,7 @@ ErrorOr<VirtualRange> RegionTree::allocate_range_specific(VirtualAddress base, s
     if (!m_total_range.contains(range))
         return ENOMEM;
 
-    auto* region = m_regions.find_largest_not_above(base.get());
+    auto* region = m_regions.find_largest_not_above(base.offset(size).get());
     if (!region) {
         // The range can be accommodated below the current lowest range.
         return range;