Commit e1c3ad96 authored by Heiko Carstens's avatar Heiko Carstens Committed by Linus Torvalds

[PATCH] s390: signal delivery

Always create all signal frames for pending signals before returning to
userspace, not just a single one.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent aa3a6f45
...@@ -288,7 +288,7 @@ sysc_sigpending: ...@@ -288,7 +288,7 @@ sysc_sigpending:
bo BASED(sysc_restart) bo BASED(sysc_restart)
tm __TI_flags+3(%r9),_TIF_SINGLE_STEP tm __TI_flags+3(%r9),_TIF_SINGLE_STEP
bo BASED(sysc_singlestep) bo BASED(sysc_singlestep)
b BASED(sysc_leave) # out of here, do NOT recheck b BASED(sysc_work_loop)
# #
# _TIF_RESTART_SVC is set, set up registers and restart svc # _TIF_RESTART_SVC is set, set up registers and restart svc
...@@ -645,7 +645,7 @@ io_sigpending: ...@@ -645,7 +645,7 @@ io_sigpending:
l %r1,BASED(.Ldo_signal) l %r1,BASED(.Ldo_signal)
basr %r14,%r1 # call do_signal basr %r14,%r1 # call do_signal
stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts
b BASED(io_leave) # out of here, do NOT recheck b BASED(io_work_loop)
/* /*
* External interrupt handler routine * External interrupt handler routine
......
...@@ -283,7 +283,7 @@ sysc_sigpending: ...@@ -283,7 +283,7 @@ sysc_sigpending:
jo sysc_restart jo sysc_restart
tm __TI_flags+7(%r9),_TIF_SINGLE_STEP tm __TI_flags+7(%r9),_TIF_SINGLE_STEP
jo sysc_singlestep jo sysc_singlestep
j sysc_leave # out of here, do NOT recheck j sysc_work_loop
# #
# _TIF_RESTART_SVC is set, set up registers and restart svc # _TIF_RESTART_SVC is set, set up registers and restart svc
...@@ -684,7 +684,7 @@ io_sigpending: ...@@ -684,7 +684,7 @@ io_sigpending:
slgr %r3,%r3 # clear *oldset slgr %r3,%r3 # clear *oldset
brasl %r14,do_signal # call do_signal brasl %r14,do_signal # call do_signal
stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts
j sysc_leave # out of here, do NOT recheck j io_work_loop
/* /*
* External interrupt handler routine * External interrupt handler routine
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment