On Wed, Oct 23, 2019 at 04:01:53PM -0700, Andy Lutomirski wrote: > Delivering events through read() is just fine. The problem is when > delivering an event does more than just returning bytes. As far as > I’ve noticed, uffd’s read() just returns bytes as long as FORK is > disabled. Yes, fork is the only case where read doesn't return bytes. Moving only the fd creation to a separate syscall would then avoid involuntary creation of the fd.