From: Nadav Amit <namit@xxxxxxxxxx>
Non-cooperative mode is useful but only for forked processes.
Userfaultfd can be useful to monitor, debug and manage memory of remote
processes.
To support this mode, add a new flag, UFFD_REMOTE_PID, and an optional
second argument to the userfaultfd syscall. When the flag is set, the
second argument is assumed to be the PID of the process that is to be
monitored. Otherwise the flag is ignored.
The syscall enforces that the caller has CAP_SYS_PTRACE to prevent
misuse of this feature.