Re: [RFC PATCH] userfaultfd: Address race after fault.

From: Andrea Arcangeli
Date: Fri Feb 14 2020 - 18:20:24 EST


Hello,

this and other enhancements have already implemented by Peter (CC'ed)
and in the right way, by altering the retry logic in the page fault
code. This is a requirement for other kind of usages too, notably the
UFFD_WRITEPROTECT ioctl after which multiple consecutive faults can
happen and must be handled.

IIRC Kirill asked at last LSF-MM uffd-wp talk if there's any
particular reason the fault couldn't be retried currently. I had no
sure answer other than there's apparently no strong reason why
VM_FAULT_RETRY is only allowed 1 time currently, so there should be no
issue in lifting that artificial restriction.

I'm running with this patchset applied in my systems since Nov with no
regression at all. I got sidetracked by various other issues, so
unfortunately I didn' post a proper reviewed-by on the last submit yet
(pending), but I did at least test it and it was rock solid so far.

https://lore.kernel.org/lkml/20190926093904.5090-1-peterx@xxxxxxxxxx/

Can you test and verify it too if it solves your use case?

Also note the complete uffd-WP support submit also from Peter:

https://lore.kernel.org/lkml/20190620022008.19172-1-peterx@xxxxxxxxxx/

https://github.com/xzpeter/linux/tree/uffd-wp-merged

Thanks,
Andrea