Re: [PATCH v2 5/7] fs/proc/task_mmu.c: simplify the vma_stop() logic

From: Kirill A. Shutemov
Date: Wed Aug 06 2014 - 06:13:24 EST


On Tue, Aug 05, 2014 at 09:46:59PM +0200, Oleg Nesterov wrote:
> m_start() drops ->mmap_sem and does mmput() if it retuns vsyscall
> vma. This is because in this case m_stop()->vma_stop() obviously
> can't use gate_vma->vm_mm.
>
> Now that we have proc_maps_private->mm we can simplify this logic:
>
> - Change m_start() to return with ->mmap_sem held unless it returns
> IS_ERR_OR_NULL().
>
> - Change vma_stop() to use priv->mm and avoid the ugly vma checks,
> this makes "vm_area_struct *vma" unnecessary.
>
> - This also allows m_start() to use vm_stop().
>
> - Cleanup m_next() to follow the new locking rule.
>
> Note: m_stop() looks very ugly, and this temporary uglifies it
> even more. Fixed by the next change.
>
> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>

--
Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/