On Mon, May 27, 2019 at 05:12:02PM +0200, Oleg Nesterov wrote: > On 05/27, Minchan Kim wrote: > > > > > another problem is that pid_task(pid) can return a zombie leader, in this case > > > mm_access() will fail while it shouldn't. > > > > I'm sorry. I didn't notice that. However, I couldn't understand your point. > > Why do you think mm_access shouldn't fail even though pid_task returns > > a zombie leader? > > The leader can exit (call sys_exit(), not sys_exit_group()), this won't affect > other threads. In this case the process is still alive even if the leader thread > is zombie. That is why we have find_lock_task_mm(). Thanks for clarification, Oleg. Then, Let me have a further question. It means process_vm_readv, move_pages have same problem too because find_task_by_vpid can return a zomebie leader and next line checks for mm_struct validation makes a failure. My understand is correct? If so, we need to fix all places.