properly support exec and wait with kernel pointers

From: Christoph Hellwig
Date: Mon Jun 15 2020 - 09:00:46 EST


Hi all,

this series first cleans up the exec code and then adds proper
kernel_execveat and kernel_wait callers instead of relying on the fact
that the early init code and kernel threads implicitly run with
the address limit set to KERNEL_DS.

Note that the cleanup removes the compat execve(at) handlers (almost)
entirely, as we can handle the compat difference very nicely in a
unified codebase. The only exception is x86 where this would list the
handlers twice in the same syscall table due to the messed up x32
design. I had to add an extra compat handler just for that case, but
maybe someone has a better idea.