From 9e2242a8e6f8eaf76a49f68b3ced64d6ba35047d Mon Sep 17 00:00:00 2001 From: Kimplul Date: Wed, 26 Jul 2023 19:10:58 +0300 Subject: fix possible segfault with non-gig memory sizes --- common/pmem.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'common/pmem.c') diff --git a/common/pmem.c b/common/pmem.c index 80599ef..8169b88 100644 --- a/common/pmem.c +++ b/common/pmem.c @@ -199,6 +199,10 @@ static void __mark_bucket_page_free(struct mm_bucket *bucket, enum mm_order iter = bucket->order; reverse_foreach_order_init(iter) { + struct mm_branch *tree = bucket->tree[iter]; + if (!tree) + continue; + __mark_free(bucket->tree[iter], fixup_addr, order, bucket->order, iter); } @@ -272,6 +276,10 @@ static void __mark_bucket_page_used(struct mm_bucket *bucket, { pm_t fixed_addr = addr - bucket->base; reverse_foreach_order(iter) { + struct mm_branch *tree = bucket->tree[iter]; + if (!tree) + continue; + __mark_used(bucket->tree[iter], fixed_addr, order, bucket->order, iter); } -- cgit v1.3