On Tue, Jul 19, 2022 at 11:55:21PM +0000, Nadav Amit wrote:
Anyhow, I do want to clarify a bit about the “cross-process support” userfaultfd situation. Basically, you can already get cross-process support today, by using calling userfaultfd() on the controlled process and calling pidfd_open() from another process. It does work and I do not remember any issues that it introduced (in contrast, for instance, to io-uring, that would break if you use userfaultfd+iouring+fork today).
Do you mean to base it on pidof_getfd()?
Just want to mention that this will still need collaboration of the target process as userfaultfd needs to be created explicitly there. From that POV it's still more similar to general SCM_RIGHTS trick to pass over the fd but just to pass it in a different way.
IMHO the core change about having /proc/pid/userfaultfd is skipping that only last step to create the handle.