Re: [PATCH 1/2] mm: propagate VM_SOFTDIRTY on merge
From: David Hildenbrand (Red Hat)
Date: Mon Nov 17 2025 - 09:25:16 EST
On 14.11.25 18:53, Lorenzo Stoakes wrote:
Currently we set VM_SOFTDIRTY when a new mapping is set up (whether by
establishing a new VMA, or via merge) as implemented in __mmap_complete()
and do_brk_flags().
However, when performing a merge of existing mappings such as when
performing mprotect(), we may lose the VM_SOFTDIRTY flag.
This is because currently we simply ignore VM_SOFTDIRTY for the purposes of
merge, so one VMA may possess the flag and another not, and whichever
happens to be the target VMA will be the one upon which the merge is
performed which may or may not have VM_SOFTDIRTY set.
Now we have the concept of 'sticky' VMA flags, let's make VM_SOFTDIRTY one
which solves this issue.
Additionally update VMA userland tests to propagate changes.
Suggested-by: Vlastimil Babka <vbabka@xxxxxxx>
Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
---
Looks reasonable to me. I thought that we had that behavior in the past
... but I also remember scenarios where we would have imprecise
soft-dirty handling. So I assume this was semi-broken for a while
(soft-broken :) )
Acked-by: David Hildenbrand (Red Hat) <david@xxxxxxxxxx>
--
Cheers
David