On Tue, Oct 16, 2012 at 9:49 PM, David Rientjes <rient...@google.com> wrote: > On Tue, 16 Oct 2012, KOSAKI Motohiro wrote: > >> > diff --git a/mm/mempolicy.c b/mm/mempolicy.c >> > index 0b78fb9..d04a8a5 100644 >> > --- a/mm/mempolicy.c >> > +++ b/mm/mempolicy.c >> > @@ -1536,9 +1536,8 @@ asmlinkage long compat_sys_mbind(compat_ulong_t >> > start, compat_ulong_t len, >> > * >> > * Returns effective policy for a VMA at specified address. >> > * Falls back to @task or system default policy, as necessary. >> > - * Current or other task's task mempolicy and non-shared vma policies >> > - * are protected by the task's mmap_sem, which must be held for read by >> > - * the caller. >> > + * Current or other task's task mempolicy and non-shared vma policies >> > must be >> > + * protected by task_lock(task) by the caller. >> >> This is not correct. mmap_sem is needed for protecting vma. task_lock() >> is needed to close vs exit race only when task != current. In other word, >> caller must held both mmap_sem and task_lock if task != current. > > The comment is specifically addressing non-shared vma policies, you do not > need to hold mmap_sem to access another thread's mempolicy.
I didn't say old comment is true. I just only your new comment also false. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/