diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-26 09:57:54 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-26 09:57:54 +0100 |
| commit | cfbf446b2cf962b08051638b41b7bb617d9ca538 (patch) | |
| tree | 18cb326fe26e49192699c1a42d55f630eb793768 | |
| parent | 3b7811f27bbfcf715f347d8e84791d7004272d21 (diff) | |
[FIX] Kernel: Zero-out STime, refactor HeapMgr.cpp
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
| -rw-r--r-- | src/kernel/src/HeapMgr.cpp | 11 | ||||
| -rw-r--r-- | src/kernel/src/UserProcessTeam.cpp | 1 |
2 files changed, 7 insertions, 5 deletions
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<kHeapMgrSpinMax> lock{&locked}; + static Bool kAllocationLocked = false; + LockDelegate<kHeapMgrSpinMax> 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<Detail::MM_INFORMATION_BLOCK_PTR>(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<UIntPtr>(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; } |
