improve msg_control kernel vs user pointer handling

From: Christoph Hellwig
Date: Mon May 11 2020 - 07:59:26 EST


Hi Dave,

this series replace the msg_control in the kernel msghdr structure
with an anonymous union and separate fields for kernel vs user
pointers. In addition to helping a bit with type safety and reducing
sparse warnings, this also allows to remove the set_fs() in
kernel_recvmsg, helping with an eventual entire removal of set_fs().