linux-sg2042/arch/blackfin
Bernd Schmidt c824498db4 Blackfin arch: fix signal handling bug
There's a forum thread at
https://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action=ForumBrowse&_forum_action=MessageReply&message_id=24741

which has a testcase involving signal handling that crashes quite readily.
Inspecting the code I believe what happens is that signal handling can become
confused when it is invoked on return from an interrupt, if the contents of
P0 and R0 at the time of the interrupt happen to be such that P0 is larger
than zero (indicating to the signal code that we're in a syscall), and R0
happens to have a value of something like -EINTR or -ERESTARTSYS.
Fixed by setting orig_p0 to -1 if we're returning from an interrupt.  The
testcase now seems to run without problems.

Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-21 09:50:23 -07:00
..
boot blackfin architecture 2007-05-07 12:12:58 -07:00
kernel Blackfin arch: cache SWRST value at bootup so other things like watchdog can non-destructively query it 2007-05-21 09:50:23 -07:00
lib Blackfin arch: Add Workaround for ANOMALY 05000257 2007-05-21 09:50:21 -07:00
mach-bf533 Blackfin arch: document why we have to touch the UART peripheral in our boot up code 2007-05-21 09:50:22 -07:00
mach-bf537 Blackfin arch: make sure we use local labels 2007-05-21 09:50:23 -07:00
mach-bf561 Blackfin arch: dont clear the bit that tells coreb to start booting 2007-05-21 09:50:23 -07:00
mach-common Blackfin arch: fix signal handling bug 2007-05-21 09:50:23 -07:00
mm Blackfin arch: ISP1761 doesn't work for USB flash disk 2007-05-21 09:50:21 -07:00
oprofile blackfin architecture 2007-05-07 12:12:58 -07:00
Kconfig Blackfin arch: initial tepla-bf561 board support 2007-05-21 09:50:22 -07:00
Makefile blackfin architecture 2007-05-07 12:12:58 -07:00
defconfig blackfin architecture 2007-05-07 12:12:58 -07:00