summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/PEFCodeMgr.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-04 18:55:05 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-08-04 18:55:05 +0100
commit9e5243927dfc15bcd62da32eb3fbe114e1cedfdb (patch)
treed1e3e3b50e5399c655a19eaf3f27e6129cd328a4 /dev/kernel/src/PEFCodeMgr.cc
parent014444356c42e46dbf4e2e9de802e6219ac508f5 (diff)
feat: check if the command header has the same CPU type as the container.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src/PEFCodeMgr.cc')
-rw-r--r--dev/kernel/src/PEFCodeMgr.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/dev/kernel/src/PEFCodeMgr.cc b/dev/kernel/src/PEFCodeMgr.cc
index 8887e6ce..98830fdd 100644
--- a/dev/kernel/src/PEFCodeMgr.cc
+++ b/dev/kernel/src/PEFCodeMgr.cc
@@ -123,6 +123,10 @@ ErrorOr<VoidPtr> PEFLoader::FindSymbol(const Char* name, Int32 kind) {
if (!container_header || container_header->VMSize < 1 || container_header->VMAddress == 0)
return ErrorOr<VoidPtr>{kErrorInvalidData};
+ if (container_header->Cpu != container->Cpu) {
+ return ErrorOr<VoidPtr>{kErrorInvalidData};
+ }
+
const auto kMangleCharacter = '$';
const Char* kContainerKinds[] = {".code64", ".data64", ".zero64", nullptr};