diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-06-03 23:14:16 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-06-03 23:14:16 +0200 |
| commit | 88a8745e45f525e5fb12b6b048df87afabebbfc9 (patch) | |
| tree | 3e0915b8e797be829a031a86de6d5482429cfd37 /dev/kernel/src | |
| parent | 422f84949dd3d2e02e70936ee2b6e4741c70a6de (diff) | |
feat: TLS: Improved its implementation, and add a user field for additional checks.
refactor: Reworked `open_msg`'s messaging system.
refactor: Rename `Utils.cc` to `AsciiUtils.cc`
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src')
| -rw-r--r-- | dev/kernel/src/AsciiUtils.cc (renamed from dev/kernel/src/Utils.cc) | 0 | ||||
| -rw-r--r-- | dev/kernel/src/ThreadLocalStorage.cc | 21 |
2 files changed, 5 insertions, 16 deletions
diff --git a/dev/kernel/src/Utils.cc b/dev/kernel/src/AsciiUtils.cc index 087b6d5f..087b6d5f 100644 --- a/dev/kernel/src/Utils.cc +++ b/dev/kernel/src/AsciiUtils.cc diff --git a/dev/kernel/src/ThreadLocalStorage.cc b/dev/kernel/src/ThreadLocalStorage.cc index ec315ddf..88fefee4 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,10 @@ 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 +46,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); } |
