소스 검색

Kernel: Actually fix accidental overlaps in allocate_range_specific()

Thanks to Idan for spotting this! :^)
Andreas Kling 3 년 전
부모
커밋
db75bab493
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.offset(size).get());
+    auto* region = m_regions.find_largest_not_above(base.offset(size - 1).get());
     if (!region) {
         // The range can be accommodated below the current lowest range.
         return range;