Adds additional safetely to kmalloc by disallowing memory allocations greater than PAGE_SIZE, usually 4096 bytes, and checking the return code from copy_from_user.