Commit e1c3ad96f662bf1071a71feffadfe0f7604f14e2

Authored by Heiko Carstens
Committed by Linus Torvalds
1 parent aa3a6f456f

[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