Thread (17 messages) 17 messages, 5 authors, 2004-07-27

Re: signal-race-fix.patch

From: David Mosberger <hidden>
Date: 2004-03-24 01:55:17

quoted
quoted
quoted
quoted
On Tue, 23 Mar 2004 02:20:20 -0800, Andrew Morton [off-list ref] said:
  Andrew> Are there any remaining concerns with Corey's final patch?

This looks rather dubious to me:

 	if (sig == SIGSEGV)
-		ka->sa.sa_handler = SIG_DFL;
+		current->sighand->action[sig-1].sa.sa_handler = SIG_DFL;
 	force_sig(SIGSEGV, current);

Yeah, it only preseves the status quo (updating sa_handler without
holding the lock) and it's presumably only a single-word store which
is atomic, but it's not all that hard to imagine code that would break
if sa_handler were to change underneath someone holding the
sighand->siglock.

I suppose I can just acquire/release the lock in the ia64-specific
code but since other arches have the same issue, perhaps that's not
the right level for the fix.

	--david
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help