Luna/kernel/src/utils/PageFaultReason.cpp

20 lines
546 B
C++
Raw Normal View History

#define MODULE "mem"
#include "utils/PageFaultReason.h"
#include "log/Log.h"
#define PROGRAM_STACK_BOTTOM 0x100000
void determine_user_page_fault_reason(uintptr_t faulting_address)
{
if (faulting_address < 0x1000)
{
kinfoln("Address 0x%lx looks like a nullptr dereference", faulting_address);
return;
}
if (faulting_address < PROGRAM_STACK_BOTTOM && (PROGRAM_STACK_BOTTOM - faulting_address) < 0x1000)
{
kinfoln("Address 0x%lx looks like a stack overflow", faulting_address);
return;
}
}