From cfbf446b2cf962b08051638b41b7bb617d9ca538 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 26 Mar 2026 09:57:54 +0100 Subject: [FIX] Kernel: Zero-out STime, refactor HeapMgr.cpp Signed-off-by: Amlal El Mahrouss --- src/kernel/src/HeapMgr.cpp | 11 ++++++----- src/kernel/src/UserProcessTeam.cpp | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/kernel/src/HeapMgr.cpp b/src/kernel/src/HeapMgr.cpp index eea230e1..195c5ef2 100644 --- a/src/kernel/src/HeapMgr.cpp +++ b/src/kernel/src/HeapMgr.cpp @@ -86,18 +86,19 @@ STATIC PageMgr kPageMgr; /// @param user User enable bit. /// @return The newly allocated pointer. _Output VoidPtr mm_alloc_ptr(SizeT sz, Bool wr, Bool user, SizeT pad_amount) { - static Bool locked = false; - LockDelegate lock{&locked}; + static Bool kAllocationLocked = false; + LockDelegate lock{&kAllocationLocked}; auto sz_fix = sz; if (sz_fix == 0) return nullptr; - locked = true; + kAllocationLocked = true; sz_fix += sizeof(Detail::MM_INFORMATION_BLOCK); - auto wrapper = kPageMgr.Request(wr, user, No, sz_fix, pad_amount); + PTEWrapper wrapper = kPageMgr.Request(wr, user, + No, sz_fix, pad_amount); Detail::MM_INFORMATION_BLOCK_PTR heap_info_ptr = reinterpret_cast(wrapper.VirtualAddress() + @@ -122,7 +123,7 @@ _Output VoidPtr mm_alloc_ptr(SizeT sz, Bool wr, Bool user, SizeT pad_amount) { (Void)(kout << "HeapMgr: Registered heap address: " << hex_number(reinterpret_cast(heap_info_ptr)) << kendl); - locked = false; + kAllocationLocked = false; return result; } diff --git a/src/kernel/src/UserProcessTeam.cpp b/src/kernel/src/UserProcessTeam.cpp index 27ad73e7..a89aafa2 100644 --- a/src/kernel/src/UserProcessTeam.cpp +++ b/src/kernel/src/UserProcessTeam.cpp @@ -12,6 +12,7 @@ UserProcessTeam::UserProcessTeam() { this->mProcessList[i].PTime = 0; this->mProcessList[i].RTime = 0; this->mProcessList[i].UTime = 0; + this->mProcessList[i].STime = 0; this->mProcessList[i].Status = ProcessStatusKind::kKilled; } -- cgit v1.2.3