From c02e7972bd2a308d9c9ac3aec78d0530d5498b0a Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 4 Aug 2025 14:27:22 +0100 Subject: feat: `mm_map_page` should iterate over `pages_count`, not `VMSize` directly. Signed-off-by: Amlal El Mahrouss --- dev/kernel/src/PEFCodeMgr.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'dev/kernel/src') diff --git a/dev/kernel/src/PEFCodeMgr.cc b/dev/kernel/src/PEFCodeMgr.cc index da69202e..357c279b 100644 --- a/dev/kernel/src/PEFCodeMgr.cc +++ b/dev/kernel/src/PEFCodeMgr.cc @@ -16,6 +16,7 @@ #include #include #include +#include "HALKit/AMD64/Paging.h" /// @author Amlal El Mahrouss (amlal@nekernel.org) /// @brief PEF backend for the Code Manager. @@ -173,7 +174,10 @@ ErrorOr PEFLoader::FindSymbol(const Char* name, Int32 kind) { kout << "PEFLoader: info: Loaded stub: " << container_header[index].Name << "!\r"; auto ret = false; - for (SizeT i_vm{}; i_vm < container_header[index].VMSize; ++i_vm) { + + auto pages_count = (container_header[index].VMSize + kPageSize - 1) / kPageSize; + + for (SizeT i_vm{}; i_vm < pages_count; ++i_vm) { ret = HAL::mm_map_page((VoidPtr) (container_header[index].VMAddress + i_vm), (VoidPtr) HAL::mm_get_page_addr(container_blob_value), HAL::kMMFlagsPresent | HAL::kMMFlagsUser); -- cgit v1.2.3