summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/ThreadLocalStorage.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-02 19:38:46 +0200
committerGitHub <noreply@github.com>2025-05-02 19:38:46 +0200
commit997be16e5ac9a68d54882ab69529815860d62955 (patch)
tree19d6129c2d776bb1edc5d4a7325e39ca176c3403 /dev/kernel/src/ThreadLocalStorage.cc
parent618104e74c195d7508a18450524f8ed7f9af8cc6 (diff)
parentb3b4b1ebdcd6adeac914869017c86d892b7a8ced (diff)
Merge pull request #28 from nekernel-org/dev
0.0.2
Diffstat (limited to 'dev/kernel/src/ThreadLocalStorage.cc')
-rw-r--r--dev/kernel/src/ThreadLocalStorage.cc48
1 files changed, 21 insertions, 27 deletions
diff --git a/dev/kernel/src/ThreadLocalStorage.cc b/dev/kernel/src/ThreadLocalStorage.cc
index a6c12142..e248e67c 100644
--- a/dev/kernel/src/ThreadLocalStorage.cc
+++ b/dev/kernel/src/ThreadLocalStorage.cc
@@ -1,16 +1,16 @@
/*
* ========================================================
*
-* NeKernel
+ * NeKernel
* Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
*
* ========================================================
*/
-#include <NewKit/KString.h>
#include <CFKit/Property.h>
#include <KernelKit/ProcessScheduler.h>
#include <KernelKit/ThreadLocalStorage.h>
+#include <NewKit/KString.h>
/***********************************************************************************/
/// @bugs: 0
@@ -26,19 +26,16 @@ using namespace Kernel;
* @return if the cookie is enabled, true; false otherwise
*/
-Boolean tls_check_tib(THREAD_INFORMATION_BLOCK* tib_ptr)
-{
- if (!tib_ptr ||
- !tib_ptr->Record)
- return false;
+Boolean tls_check_tib(THREAD_INFORMATION_BLOCK* tib_ptr) {
+ if (!tib_ptr || !tib_ptr->Record) return false;
- ICodec encoder;
- const Char* tib_as_bytes = encoder.AsBytes<THREAD_INFORMATION_BLOCK*>(tib_ptr);
+ ICodec encoder;
+ const Char* tib_as_bytes = encoder.AsBytes<THREAD_INFORMATION_BLOCK*>(tib_ptr);
- kout << "TLS: Validating the TIB...\r";
+ kout << "TLS: Validating the TIB...\r";
- return tib_as_bytes[kCookieMag0Idx] == kCookieMag0 && tib_as_bytes[kCookieMag1Idx] == kCookieMag1 &&
- tib_as_bytes[kCookieMag2Idx] == kCookieMag2;
+ return tib_as_bytes[kCookieMag0Idx] == kCookieMag0 &&
+ tib_as_bytes[kCookieMag1Idx] == kCookieMag1 && tib_as_bytes[kCookieMag2Idx] == kCookieMag2;
}
/**
@@ -46,22 +43,19 @@ Boolean tls_check_tib(THREAD_INFORMATION_BLOCK* tib_ptr)
* @param tib_ptr The TIB record.
* @return if the TIB record is valid or not.
*/
-EXTERN_C Bool tls_check_syscall_impl(Kernel::VoidPtr tib_ptr) noexcept
-{
- if (!tib_ptr)
- {
- kout << "TLS: Failed because of an invalid TIB...\r";
- return No;
- }
+EXTERN_C Bool tls_check_syscall_impl(Kernel::VoidPtr tib_ptr) noexcept {
+ if (!tib_ptr) {
+ kout << "TLS: Failed because of an invalid TIB...\r";
+ return No;
+ }
- THREAD_INFORMATION_BLOCK* tib = reinterpret_cast<THREAD_INFORMATION_BLOCK*>(tib_ptr);
+ 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;
- }
+ if (!tls_check_tib(tib)) {
+ kout << "TLS: Failed because of an invalid TIB...\r";
+ return No;
+ }
- kout << "TLS Pass.\r";
- return Yes;
+ kout << "TLS Pass.\r";
+ return Yes;
}