On 29/08/2017 14:04, Peter Zijlstra wrote:
On Tue, Aug 29, 2017 at 09:59:30AM +0200, Laurent Dufour wrote:
quoted
On 27/08/2017 02:18, Kirill A. Shutemov wrote:
quoted
quoted
+
+ 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.
Yes in the case we later allow non anonymous vmas to be handled.
Currently only anonymous vmas are supported so the check is good enough,
isn't it ?