How does user space communicate with kernel space in Linux, and what are the security implications of this boundary?