Messages in this thread | | | Date | Fri, 22 Oct 2004 21:25:31 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: Fw: BUG_ONs in signal.c? |
| |
On Fri, 22 Oct 2004, Roland McGrath wrote: > > Once group_exit is set, it should never be cleared and group_exit_code > should never be changed.
Hmm? Another signal that kills another thread, but isn't a core-dump signal, will go through the __group_complete_signal() code in kernel/signal.c, and do
p->signal->group_exit_code = sig;
adn the only locking there is the siglock/tasklist_lock as far as I can see.
So as far as I can tell, I see
coredump thread other thread =============== ============
do_coredump() current->signal->group_exit_code = exit_code coredump_wait(mm);
/* gets fatal non-coredump signal */ current->signal->group_exit_code = sig; ... BUG_ON(current->signal->group_exit_code != exit_code); !!BOOM!!
No?
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/
| |