diff --git a/src/system/kernel/vm/vm.cpp b/src/system/kernel/vm/vm.cpp index 70e2d9e2e0..3580fc5434 100644 --- a/src/system/kernel/vm/vm.cpp +++ b/src/system/kernel/vm/vm.cpp @@ -4761,7 +4761,7 @@ vm_try_reserve_memory(size_t amount) //dprintf("try to reserve %lu bytes, %Lu left\n", amount, sAvailableMemory); - if (sAvailableMemory > amount) { + if (sAvailableMemory >= amount) { sAvailableMemory -= amount; status = B_OK; } else diff --git a/src/system/kernel/vm/vm_store_anonymous_noswap.cpp b/src/system/kernel/vm/vm_store_anonymous_noswap.cpp index 31132c3ac1..15829ae60a 100644 --- a/src/system/kernel/vm/vm_store_anonymous_noswap.cpp +++ b/src/system/kernel/vm/vm_store_anonymous_noswap.cpp @@ -66,6 +66,9 @@ anonymous_commit(struct vm_store *_store, off_t size) size = precommitted; } + if (size == store->vm.committed_size) + return B_OK; + // Check to see how much we could commit - we need real memory if (size > store->vm.committed_size) {