summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/src')
-rw-r--r--dev/kernel/src/BitMapMgr.cc14
-rw-r--r--dev/kernel/src/CxxAbi-AMD64.cc2
-rw-r--r--dev/kernel/src/DriveMgr.cc2
3 files changed, 14 insertions, 4 deletions
diff --git a/dev/kernel/src/BitMapMgr.cc b/dev/kernel/src/BitMapMgr.cc
index 7f3f8500..63cadde3 100644
--- a/dev/kernel/src/BitMapMgr.cc
+++ b/dev/kernel/src/BitMapMgr.cc
@@ -95,9 +95,9 @@ namespace Kernel
if (!size)
return nullptr;
- constexpr const UInt32 kStartOffset = 0x1000;
+ VoidPtr base = reinterpret_cast<VoidPtr>((UIntPtr)base_ptr);
- VoidPtr base = reinterpret_cast<VoidPtr>(((UIntPtr)base_ptr) + kStartOffset);
+ MUST_PASS(base);
static SizeT biggest = 0UL;
@@ -141,7 +141,15 @@ namespace Kernel
return (VoidPtr)ptr_bit_set;
}
- base = reinterpret_cast<VoidPtr>(reinterpret_cast<UIntPtr>(base) + ((ptr_bit_set[kBitMapMagIdx] != kBitMapMagic) ? (size + pad) : ptr_bit_set[kBitMapSizeIdx]));
+ UIntPtr raw_base = reinterpret_cast<UIntPtr>(base);
+ UIntPtr offset = (ptr_bit_set[kBitMapMagIdx] != kBitMapMagic)
+ ? (size + pad)
+ : ptr_bit_set[kBitMapSizeIdx];
+
+ base = reinterpret_cast<VoidPtr>(raw_base + offset);
+
+ if (base == nullptr)
+ return nullptr;
}
return nullptr;
diff --git a/dev/kernel/src/CxxAbi-AMD64.cc b/dev/kernel/src/CxxAbi-AMD64.cc
index 3209a1a9..9270d612 100644
--- a/dev/kernel/src/CxxAbi-AMD64.cc
+++ b/dev/kernel/src/CxxAbi-AMD64.cc
@@ -25,6 +25,8 @@ EXTERN_C Kernel::Void __cxa_pure_virtual(void* self)
EXTERN_C void ___chkstk_ms(void)
{
+ kout << "Stack smashing detected!\r";
+ dbg_break_point();
}
EXTERN_C int atexit(void (*f)(void*), void* arg, void* dso)
diff --git a/dev/kernel/src/DriveMgr.cc b/dev/kernel/src/DriveMgr.cc
index 36e0a7e4..0d24d4f8 100644
--- a/dev/kernel/src/DriveMgr.cc
+++ b/dev/kernel/src/DriveMgr.cc
@@ -110,7 +110,7 @@ namespace Kernel
{
return "ATA-DMA";
}
-#elif defined( __AHCI__)
+#elif defined(__AHCI__)
const Char* io_drv_kind(Void)
{
return "AHCI";