X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/1f37d39e678168ffc089bcde6f9ea203c4763550..df61e9d0fec3d5e75820e27e7a2459d132364585:/lunaix-os/kernel/mm/pmm.c?ds=sidebyside diff --git a/lunaix-os/kernel/mm/pmm.c b/lunaix-os/kernel/mm/pmm.c index 9c0d3eb..4503535 100644 --- a/lunaix-os/kernel/mm/pmm.c +++ b/lunaix-os/kernel/mm/pmm.c @@ -66,10 +66,10 @@ pmm_alloc_cpage(pid_t owner, size_t num_pages, pp_attr_t attr) size_t p2 = 0; while (p2 < max_pg && p2 - p1 < num_pages) { - (!(&pm_table[p2])->ref_counts) ? (p2++) : (p1 = p2); + (!(&pm_table[p2])->ref_counts) ? (p2++) : (p1 = ++p2); } - if (p2 < max_pg) { + if (p2 == max_pg && p2 - p1 < num_pages) { return NULL; }