dthain/basekernel

Pointer Validation

Opened this issue · 0 comments

Whenever the user program passes the kernel a pointer to a memory location, the kernel must be extra careful before accessing that pointer. If the user passes an invalid pointer, it could easily cause the kernel to crash. Even worse, it could induce the kernel to make arbitrary writes within kernel space.

Note the dummy implementation of is_valid_pointer in syscall_handler.c. Test valid pointers by ensuring that they fall within the bounds of the current heap and stack limits, so that the kernel can be assured that accessing them is safe from the kernel's perspective.