summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/ThreadLocalStorage.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-06-15 16:03:38 +0200
committerGitHub <noreply@github.com>2025-06-15 16:03:38 +0200
commiteb9df5eea339812513c25a8d3b2eeb03c633e7ac (patch)
treeefcdaaa25d08daadcd27e0597a0fb20defc49a23 /dev/kernel/src/ThreadLocalStorage.cc
parent6511afbf405c31513bc88ab06bca58218610a994 (diff)
parentf7e5542dc13519cc78c204b4062acb0b71296a58 (diff)
Merge pull request #41 from nekernel-org/dev
NeKernel v0.0.3e1
Diffstat (limited to 'dev/kernel/src/ThreadLocalStorage.cc')
-rw-r--r--dev/kernel/src/ThreadLocalStorage.cc22
1 files changed, 6 insertions, 16 deletions
diff --git a/dev/kernel/src/ThreadLocalStorage.cc b/dev/kernel/src/ThreadLocalStorage.cc
index ec315ddf..03a71f1a 100644
--- a/dev/kernel/src/ThreadLocalStorage.cc
+++ b/dev/kernel/src/ThreadLocalStorage.cc
@@ -15,7 +15,7 @@
/***********************************************************************************/
/// @bugs: 0
/// @file ThreadLocalStorage.cc
-/// @brief Process Thread Local Storage.
+/// @brief NeKernel Thread Local Storage.
/***********************************************************************************/
using namespace Kernel;
@@ -27,15 +27,11 @@ using namespace Kernel;
*/
Boolean tls_check_tib(THREAD_INFORMATION_BLOCK* tib_ptr) {
- if (!tib_ptr || !tib_ptr->Record) return false;
+ if (!tib_ptr) return false;
- ICodec encoder;
- const Char* tib_as_bytes = encoder.AsBytes<THREAD_INFORMATION_BLOCK*>(tib_ptr);
-
- kout << "TLS: Validating the TIB...\r";
-
- return tib_as_bytes[kCookieMag0Idx] == kCookieMag0 &&
- tib_as_bytes[kCookieMag1Idx] == kCookieMag1 && tib_as_bytes[kCookieMag2Idx] == kCookieMag2;
+ return tib_ptr->Cookie[kCookieMag0Idx] == kCookieMag0 &&
+ tib_ptr->Cookie[kCookieMag1Idx] == kCookieMag1 &&
+ tib_ptr->Cookie[kCookieMag2Idx] == kCookieMag2;
}
/**
@@ -51,11 +47,5 @@ EXTERN_C Bool tls_check_syscall_impl(Kernel::VoidPtr tib_ptr) noexcept {
THREAD_INFORMATION_BLOCK* tib = reinterpret_cast<THREAD_INFORMATION_BLOCK*>(tib_ptr);
- if (!tls_check_tib(tib)) {
- kout << "TLS: Failed because of an invalid TIB...\r";
- return No;
- }
-
- kout << "TLS Pass.\r";
- return Yes;
+ return tls_check_tib(tib);
}