Pointer Validation
Opened this issue · 0 comments
dthain commented
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.