lkml.org 
[lkml]   [2004]   [Oct]   [23]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 22 Oct 2004 21:25:31 -0700 (PDT)
FromLinus Torvalds <>
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 14:07    [from the cache]
©2003-2008