All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mm/madvise: Fix VMA_ITERATOR start position
@ 2023-01-25 13:58 Liam R. Howlett
  0 siblings, 0 replies; only message in thread
From: Liam R. Howlett @ 2023-01-25 13:58 UTC (permalink / raw)
  To: maple-tree, linux-mm, linux-kernel, Andrew Morton, linux-next
  Cc: Liam Howlett, syzbot+1d9ec4d1a334ae9e1ca6

From: Liam Howlett <Liam.Howlett@oracle.com>

The WARN_ON() in vma_iter_store() detected an invalid VMA iterator
state.  Inspecting the code stack from the report shows that the VMA
iterator is never set to the correct start position.

Setting the initialization of the VMA iterator to use the address
'start' fixes this issue.

Reported-by: syzbot+1d9ec4d1a334ae9e1ca6@syzkaller.appspotmail.com
Signed-off-by: Liam Howlett <Liam.Howlett@oracle.com>
---

Andrew, this can be squashed into the mm-unstable ("madvise: use
split_vma() instead of __split_vma()")


 mm/madvise.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/madvise.c b/mm/madvise.c
index 7db6622f8293..ca672e37b38c 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -142,7 +142,7 @@ static int madvise_update_vma(struct vm_area_struct *vma,
 	struct mm_struct *mm = vma->vm_mm;
 	int error;
 	pgoff_t pgoff;
-	VMA_ITERATOR(vmi, mm, 0);
+	VMA_ITERATOR(vmi, mm, start);
 
 	if (new_flags == vma->vm_flags && anon_vma_name_eq(anon_vma_name(vma), anon_name)) {
 		*prev = vma;
-- 
2.39.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-01-25 13:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-25 13:58 [PATCH] mm/madvise: Fix VMA_ITERATOR start position Liam R. Howlett

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.