On Tue, Aug 29, 2017 at 09:59:30AM +0200, Laurent Dufour wrote: > On 27/08/2017 02:18, Kirill A. Shutemov wrote: > >> + > >> + if (unlikely(!vma->anon_vma)) > >> + goto unlock; > > > > It deserves a comment. > > You're right I'll add it in the next version. > For the record, the root cause is that __anon_vma_prepare() requires the > mmap_sem to be held because vm_next and vm_prev must be safe.
But should that test not be: if (unlikely(vma_is_anonymous(vma) && !vma->anon_vma)) goto unlock; Because !anon vmas will never have ->anon_vma set and you don't want to exclude those.