Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 3 Dec 2003 12:55:23 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: kernel BUG at kernel/exit.c:792! |
| |
On Wed, 3 Dec 2003, Ingo Molnar wrote: > > On Wed, 3 Dec 2003, Manfred Spraul wrote: > > > It's wrong, because next_thread() relies on > > > > task->pids[PIDTYPE_TGID].pid_chain.next > > > > That pointer is not valid after detach_pid(task, PIDTYPE_TGID), and > > that's called within __unhash_process. Thus next_thread() fails if it's > > called on a dead task. Srivatsa's second patch is the right change: If > > pid_alive() is wrong, then break from the loop without calling > > next_thread(). > > yes. And for thread groups this can only happen for the thread group > leader if all 'child' threads have exited.
Ok, color me convinced. Will apply,
Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |