public inbox for linux-mm@kvack.org
 help / color / mirror / Atom feed
* [PATCH mm-hotfixes] mm/mseal: update VMA end correctly on merge
@ 2026-03-27  9:06 Lorenzo Stoakes (Oracle)
  2026-03-27  9:15 ` Pedro Falcato
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Lorenzo Stoakes (Oracle) @ 2026-03-27  9:06 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Liam R . Howlett, Vlastimil Babka, Jann Horn, Pedro Falcato,
	Jeff Xu, David Hildenbrand, linux-mm, linux-kernel, antonius

Previously we stored the end of the current VMA in curr_end, and then upon
iterating to the next VMA updated curr_start to curr_end to advance to the
next VMA.

However, this doesn't take into account the fact that a VMA might be
updated due to a merge by vma_modify_flags(), which can result in curr_end
being stale and thus, upon setting curr_start to curr_end, ending up with
an incorrect curr_start on the next iteration.

Resolve the issue by setting curr_end to vma->vm_end unconditionally to
ensure this value remains updated should this occur.

Signed-off-by: Lorenzo Stoakes (Oracle) <ljs@kernel.org>
Fixes: 6c2da14ae1e0 ("mm/mseal: rework mseal apply logic")
Cc: <stable@vger.kernel.org>
Reported-by: Antonius <antonius@bluedragonsec.com>
Closes: https://lore.kernel.org/linux-mm/CAK8a0jyHXqBpt8Xe8v9SNDbnRiwz7OthA8SKY=NLRY7smPEP3Q@mail.gmail.com/
---
 mm/mseal.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/mseal.c b/mm/mseal.c
index 316b5e1dec78..2d72a15d8ea1 100644
--- a/mm/mseal.c
+++ b/mm/mseal.c
@@ -66,7 +66,7 @@ static int mseal_apply(struct mm_struct *mm,
 		prev = vma;

 	for_each_vma_range(vmi, vma, end) {
-		const unsigned long curr_end = MIN(vma->vm_end, end);
+		unsigned long curr_end = MIN(vma->vm_end, end);

 		if (!(vma->vm_flags & VM_SEALED)) {
 			vm_flags_t vm_flags = vma->vm_flags | VM_SEALED;
@@ -76,6 +76,7 @@ static int mseal_apply(struct mm_struct *mm,
 			if (IS_ERR(vma))
 				return PTR_ERR(vma);
 			vm_flags_set(vma, VM_SEALED);
+			curr_end = vma->vm_end; /* Merge may have updated. */
 		}

 		prev = vma;
--
2.53.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-03-27 17:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-27  9:06 [PATCH mm-hotfixes] mm/mseal: update VMA end correctly on merge Lorenzo Stoakes (Oracle)
2026-03-27  9:15 ` Pedro Falcato
2026-03-27  9:16 ` Lorenzo Stoakes (Oracle)
2026-03-27 13:22 ` Vlastimil Babka (SUSE)
2026-03-27 15:24 ` Andrew Morton
2026-03-27 15:52   ` Lorenzo Stoakes (Oracle)
2026-03-27 16:57 ` David Hildenbrand (Arm)
2026-03-27 17:23   ` Lorenzo Stoakes (Oracle)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox