Sorry. I didn't have time to answer other emails, will try to do later. And yes, yes, while_each_thread() should be fixed, still on my TODO list... But just in case, whatever we do with while_each_thread() we should also fix some users. Until then, On 11/08, Sameer Nanda wrote: > > @@ -412,13 +412,16 @@ void oom_kill_process(struct task_struct *p, gfp_t gfp_mask, int order, > static DEFINE_RATELIMIT_STATE(oom_rs, DEFAULT_RATELIMIT_INTERVAL, > DEFAULT_RATELIMIT_BURST); > > + read_lock(&tasklist_lock); > + > /* > * If the task is already exiting, don't alarm the sysadmin or kill > * its children or threads, just set TIF_MEMDIE so it can die quickly > */ > - if (p->flags & PF_EXITING) { > + if (p->flags & PF_EXITING || !pid_alive(p)) { OK. > - read_lock(&tasklist_lock); But you should also move read_unlock_down(), at least after find_lock_task_mm(). And of course, this doesn't fix other users in oom_kill.c. Oleg. -- 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>