summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/Sources/ThreadLocalStorage.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dev/Kernel/Sources/ThreadLocalStorage.cxx')
-rw-r--r--dev/Kernel/Sources/ThreadLocalStorage.cxx76
1 files changed, 0 insertions, 76 deletions
diff --git a/dev/Kernel/Sources/ThreadLocalStorage.cxx b/dev/Kernel/Sources/ThreadLocalStorage.cxx
deleted file mode 100644
index f258fa11..00000000
--- a/dev/Kernel/Sources/ThreadLocalStorage.cxx
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * ========================================================
- *
- * Kernel
- * Copyright ZKA Technologies., all rights reserved.
- *
- * ========================================================
- */
-
-#include <NewKit/String.hxx>
-#include <CFKit/Property.hxx>
-#include <KernelKit/ProcessScheduler.hxx>
-#include <KernelKit/ThreadLocalStorage.hxx>
-
-///! BUGS: 0
-
-/***********************************************************************************/
-/// @file ThreadLocalStorage.cxx
-/// @brief TLS inside the kernel.
-/***********************************************************************************/
-
-using namespace Kernel;
-
-Kernel::Property cTLSEnforceCheck;
-
-/**
- * @brief Checks for cookie inside the TIB.
- * @param tib the TIB to check.
- * @return if the cookie is enabled.
- */
-
-Boolean tls_check_tib(THREAD_INFORMATION_BLOCK* the_tib)
-{
- if (!the_tib)
- return false;
-
- Encoder encoder;
- const char* tibAsBytes = encoder.AsBytes(the_tib);
-
- kcout << "newoskrnl: checking for a valid cookie inside the TIB...\r";
-
- return tibAsBytes[0] == kCookieMag0 && tibAsBytes[1] == kCookieMag1 &&
- tibAsBytes[2] == kCookieMag2;
-}
-
-/**
- * @brief System call implementation of the TLS check.
- * @param stackPtr The call frame.
- * @return
- */
-EXTERN_C Bool tls_check_syscall_impl(Kernel::VoidPtr tib_ptr) noexcept
-{
- if (!tib_ptr)
- {
- if (cTLSEnforceCheck.GetValue() == No)
- {
- return true;
- }
- else
- {
- kcout << "newoskrnl: failing because of an invalid TIB...\r";
- return false;
- }
- }
-
- THREAD_INFORMATION_BLOCK* tib_struct = (THREAD_INFORMATION_BLOCK*)tib_ptr;
-
- if (!tls_check_tib(tib_struct))
- {
- kcout << "newoskrnl: crashing because of an invalid TIB...\r";
- return false;
- }
-
- kcout << "newoskrnl: Verification succeeded! staying alive...\r";
- return true;
-}