Messages in this thread | | | Date | Wed, 03 Dec 2003 21:19:09 +0100 | From | Manfred Spraul <> | Subject | Re: kernel BUG at kernel/exit.c:792! |
| |
Linus Torvalds wrote:
>So as far as I can tell, the patch from Ingo and Srivatsa just paper over >the _real_ bug. And the real fix is to get rid of the debugging helper >completely, since it no longer serves any purpose, and it is WRONG! > >So tell me why it isn't wrong? > > 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().
-- Manfred
- 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/
| |