瀏覽代碼

Kernel: Hoist VERIFY from a loop in RangeAllocator::allocate_specific()

Andreas Kling 4 年之前
父節點
當前提交
b0d9b88c49
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      Kernel/VM/RangeAllocator.cpp

+ 3 - 2
Kernel/VM/RangeAllocator.cpp

@@ -136,11 +136,12 @@ Optional<Range> RangeAllocator::allocate_specific(VirtualAddress base, size_t si
     VERIFY(base.is_page_aligned());
     VERIFY(base.is_page_aligned());
     VERIFY((size % PAGE_SIZE) == 0);
     VERIFY((size % PAGE_SIZE) == 0);
 
 
-    Range allocated_range(base, size);
+    Range const allocated_range(base, size);
+    VERIFY(m_total_range.contains(allocated_range));
+
     ScopedSpinLock lock(m_lock);
     ScopedSpinLock lock(m_lock);
     for (size_t i = 0; i < m_available_ranges.size(); ++i) {
     for (size_t i = 0; i < m_available_ranges.size(); ++i) {
         auto& available_range = m_available_ranges[i];
         auto& available_range = m_available_ranges[i];
-        VERIFY(m_total_range.contains(allocated_range));
         if (!available_range.contains(base, size))
         if (!available_range.contains(base, size))
             continue;
             continue;
         if (available_range == allocated_range) {
         if (available_range == allocated_range) {