Just to add to the list of use cases for PROCESS_VM_EXEC_SYSCALL,
another use case is initializing a process from the "outside", instead
of from the "inside" as fork requires. This can be much easier to work
with. http://catern.com/rsys21.pdf goes into this use case in some
depth.
It relies heavily on a remote syscall primitive:
https://github.com/catern/rsyscall. The PROCESS_VM_EXEC_SYSCALL API
proposed in this patch would be a great replacement for the current
implementation, which relies on running code inside the target process.