From: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
To: Paul Mackerras <paulus@samba.org>
Cc: benh@kernel.crashing.org, torvalds@osdl.org,
linux-kernel@vger.kernel.org, linuxppc-dev@lists.linuxppc.org,
linuxppc64-dev@lists.linuxppc.org
Subject: Re: [PATCH 2.5.73] Signal stack fixes #1 introduce PF_SS_ACTIVE
Date: Sat, 5 Jul 2003 09:39:46 +0200 [thread overview]
Message-ID: <20030705073946.GD32363@wohnheim.fh-wedel.de> (raw)
In-Reply-To: <16134.2877.577780.35071@cargo.ozlabs.ibm.com>
On Sat, 5 July 2003 09:18:21 +1000, Paul Mackerras wrote:
>
> This is madness.
>
> There is nothing in POSIX that says that you have to exit a signal
> handler by returning from it (which, under Linux, ends up doing a
> sigreturn or rt_sigreturn system call). It is explicitly permitted to
> return from a RT signal handler with setcontext(), for instance. And
> it is at least long-standing practice to return using longjmp().
> Neither setcontext nor longjmp will do a system call (yes, setcontext
> is a system call on sparc, but it isn't on x86 AFAIK).
>
> So - the kernel doesn't (and can't and shouldn't need to) know about
> all transitions to or from a signal stack. Therefore the PF_SS_ACTIVE
> bit is useless since it will be wrong some of the time.
Ack.
> Anyway, what is the problem with taking a signal on the signal stack
> when you in a signal handler using the signal stack? You just keep
> going down the stack from where you are, which is what the code
> already does.
The problem is with a broken signal handler, that moves the stack
pointer to nirvana. You get a signal, set up the signal stack, move
the pointer to nirvana, get a signal, set up the signal stack, move
the pointer to nirvana, get a signal, ...
If I was just going down the signal stack, I would be perfectly happy,
but instead the kernel believes each signal is the very first on the
signal stack and sets it up again (and again...) each time.
> BTW, I am the PPC maintainer; Ben is the powermac maintainer.
Sorry about that.
Jörn
--
Measure. Don't tune for speed until you've measured, and even then
don't unless one part of the code overwhelms the rest.
-- Rob Pike
next prev parent reply other threads:[~2003-07-05 7:25 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-03 20:24 [PATCH 2.5.73] Fix broken signal optimization for i386 Jörn Engel
2003-07-04 17:43 ` Jörn Engel
2003-07-04 17:45 ` [PATCH 2.5.73] Signal stack fixes #1 introduce PF_SS_ACTIVE Jörn Engel
2003-07-04 17:51 ` [PATCH 2.5.73] Signal stack fixes #2 i386-specific Jörn Engel
2003-07-04 17:54 ` [PATCH 2.5.73] Signal stack fixes #1 introduce PF_SS_ACTIVE Jörn Engel
2003-07-04 17:58 ` [PATCH 2.5.73] Signal handling fix for ppc Jörn Engel
2003-07-04 23:26 ` Paul Mackerras
2003-07-05 7:33 ` Jörn Engel
2003-07-04 23:18 ` [PATCH 2.5.73] Signal stack fixes #1 introduce PF_SS_ACTIVE Paul Mackerras
2003-07-05 7:39 ` Jörn Engel [this message]
2003-07-06 8:47 ` Paul Mackerras
2003-07-06 10:17 ` Jörn Engel
2003-07-07 11:29 ` Paul Mackerras
2003-07-07 11:58 ` Jörn Engel
2003-07-07 11:33 ` Paul Mackerras
2003-07-07 11:46 ` Jörn Engel
2003-07-04 19:21 ` Linus Torvalds
2003-07-04 19:38 ` Jörn Engel
2003-07-04 20:06 ` Linus Torvalds
2003-07-04 20:18 ` Jörn Engel
2003-07-05 0:39 ` Linus Torvalds
2003-07-05 7:30 ` Jörn Engel
2003-07-05 10:44 ` Jörn Engel
2003-07-05 17:16 ` Linus Torvalds
2003-07-06 12:51 ` Jörn Engel
2003-07-07 9:30 ` [PATCH 2.5.74] Signal stack safety #2 i386 specific Jörn Engel
2003-07-05 17:06 ` [PATCH 2.5.73] Signal stack fixes #1 introduce PF_SS_ACTIVE Jamie Lokier
2003-07-06 1:27 ` Eric W. Biederman
2003-07-04 19:39 ` Davide Libenzi
2003-07-04 20:24 ` Jörn Engel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20030705073946.GD32363@wohnheim.fh-wedel.de \
--to=joern@wohnheim.fh-wedel.de \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=linuxppc64-dev@lists.linuxppc.org \
--cc=paulus@samba.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®