Commit e1c3ad96f662bf1071a71feffadfe0f7604f14e2
Committed by
Linus Torvalds
1 parent
aa3a6f456f
Exists in
master
and in
20 other branches
[PATCH] s390: signal delivery
Always create all signal frames for pending signals before returning to userspace, not just a single one. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 2 changed files with 4 additions and 4 deletions Side-by-side Diff
arch/s390/kernel/entry.S
... | ... | @@ -288,7 +288,7 @@ |
288 | 288 | bo BASED(sysc_restart) |
289 | 289 | tm __TI_flags+3(%r9),_TIF_SINGLE_STEP |
290 | 290 | bo BASED(sysc_singlestep) |
291 | - b BASED(sysc_leave) # out of here, do NOT recheck | |
291 | + b BASED(sysc_work_loop) | |
292 | 292 | |
293 | 293 | # |
294 | 294 | # _TIF_RESTART_SVC is set, set up registers and restart svc |
... | ... | @@ -645,7 +645,7 @@ |
645 | 645 | l %r1,BASED(.Ldo_signal) |
646 | 646 | basr %r14,%r1 # call do_signal |
647 | 647 | stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts |
648 | - b BASED(io_leave) # out of here, do NOT recheck | |
648 | + b BASED(io_work_loop) | |
649 | 649 | |
650 | 650 | /* |
651 | 651 | * External interrupt handler routine |
arch/s390/kernel/entry64.S
... | ... | @@ -283,7 +283,7 @@ |
283 | 283 | jo sysc_restart |
284 | 284 | tm __TI_flags+7(%r9),_TIF_SINGLE_STEP |
285 | 285 | jo sysc_singlestep |
286 | - j sysc_leave # out of here, do NOT recheck | |
286 | + j sysc_work_loop | |
287 | 287 | |
288 | 288 | # |
289 | 289 | # _TIF_RESTART_SVC is set, set up registers and restart svc |
... | ... | @@ -684,7 +684,7 @@ |
684 | 684 | slgr %r3,%r3 # clear *oldset |
685 | 685 | brasl %r14,do_signal # call do_signal |
686 | 686 | stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts |
687 | - j sysc_leave # out of here, do NOT recheck | |
687 | + j io_work_loop | |
688 | 688 | |
689 | 689 | /* |
690 | 690 | * External interrupt handler routine |