How to run out of memory in kernel

If we want to run out of memory in kernel by a program in user space, should we keeps msgsnd() to allocate memory in kernel? Or there is other way? Besides, user space process can not access kernel space memory, can kernel space process access user space memory? If kernel use up kernel space memory, will it use memory in user space?
Thanks

Go to Source
Author: David Lee