summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-03-26 09:57:54 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-03-26 09:57:54 +0100
commitcfbf446b2cf962b08051638b41b7bb617d9ca538 (patch)
tree18cb326fe26e49192699c1a42d55f630eb793768
parent3b7811f27bbfcf715f347d8e84791d7004272d21 (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.cpp11
-rw-r--r--src/kernel/src/UserProcessTeam.cpp1
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;
}