On Tue, Oct 16, 2012 at 9:49 PM, David Rientjes <rientjes@xxxxxxxxxx> 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>