For what it's worth, I still don't like the two-step handshake design,
my preference is still an API like this:
1. userspace asks for the features it wants
2. kernel responds with the (possibly subset of) features it actually supports
3. userspace is free to carry on with perhaps limited features, or
exit with error, or ...
But, I think at that point the ship has already sailed. I think toPlease, just why do you have that UFFD_API
maintain compatibility with existing programs there isn't much we can
do at this point.