Re: [PATCH v1 4/7] mm/ksm: fix KSM COW breaking with userfaultfd-wp via FAULT_FLAG_UNSHARE

From: David Hildenbrand
Date: Sat Oct 01 2022 - 04:13:55 EST


On 01.10.22 00:27, Andrew Morton wrote:
On Fri, 30 Sep 2022 16:19:28 +0200 David Hildenbrand <david@xxxxxxxxxx> wrote:

Let's stop breaking COW via a fake write fault and let's use
FAULT_FLAG_UNSHARE instead. This avoids any wrong side effects of the fake
write fault, such as mapping the PTE writable and marking the pte
dirty/softdirty.

Also, this fixes KSM interaction with userfaultfd-wp: when we have a KSM
page that's write-protected by userfaultfd, break_ksm()->handle_mm_fault()
will fail with VM_FAULT_SIGBUS and will simpy return in break_ksm() with 0.
The warning in dmesg indicates this wrong handling:

We're at -rc7. I'd prefer to avoid merging larger patchsets at this
time.

Yes, this is 6.1 material.


Is there some minimal fix for 6.0 and -stable? Or is the problem
non-serious enough to only fix it in 6.1 and later?


See the end of this lengthy patch description:

"This is primarily a fix for KSM+userfaultfd-wp, however, the fake write
fault was always questionable. As this fix is not easy to backport and it's not very critical, let's not cc stable."

This can wait, thanks!

--
Thanks,

David / dhildenb