[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <000000000000c07cf2061c62fbbd@google.com>
Date: Wed, 03 Jul 2024 19:48:36 -0700
From: syzbot <syzbot+35a4414f6e247f515443@...kaller.appspotmail.com>
To: linux-kernel@...r.kernel.org
Subject: Re: [syzbot] Re: [syzbot] [kernel?] WARNING in follow_pte
For archival purposes, forwarding an incoming command email to
linux-kernel@...r.kernel.org.
***
Subject: Re: [syzbot] [kernel?] WARNING in follow_pte
Author: lizhi.xu@...driver.com
Fixes: c5541ba378e3 ("mm: follow_pte() improvements")
It introduced mmap_assert_locked(mm) in follow_pte.
This case content does not hold mm lock.
#syz test: upstream 734610514cb0
diff --git a/mm/memory.c b/mm/memory.c
index 25a77c4fe4a0..18bc74dd0b72 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1909,6 +1909,7 @@ void zap_page_range_single(struct vm_area_struct *vma, unsigned long address,
lru_add_drain();
mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, vma->vm_mm,
address, end);
+ mmap_read_lock(vma->vm_mm);
hugetlb_zap_begin(vma, &range.start, &range.end);
tlb_gather_mmu(&tlb, vma->vm_mm);
update_hiwater_rss(vma->vm_mm);
@@ -1921,6 +1922,7 @@ void zap_page_range_single(struct vm_area_struct *vma, unsigned long address,
mmu_notifier_invalidate_range_end(&range);
tlb_finish_mmu(&tlb);
hugetlb_zap_end(vma, details);
+ mmap_read_unlock(vma->vm_mm);
}
/**
Powered by blists - more mailing lists