diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-05-23 15:28:58 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-01 12:58:50 -0400 |
commit | 6fd84c0831ec78d98736b76dc5e9b849f1dbfc9e (patch) | |
tree | d3d95e7a66f6edcd29cfc4f2ff01aec8422b5a88 /arch/avr32/kernel | |
parent | bf343dfd877ebf16cfbc31ba121606c5b6cef01f (diff) |
TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/avr32/kernel')
-rw-r--r-- | arch/avr32/kernel/entry-avr32b.S | 4 | ||||
-rw-r--r-- | arch/avr32/kernel/signal.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/avr32/kernel/entry-avr32b.S b/arch/avr32/kernel/entry-avr32b.S index 5e6beb2597a8..df2884181313 100644 --- a/arch/avr32/kernel/entry-avr32b.S +++ b/arch/avr32/kernel/entry-avr32b.S | |||
@@ -281,7 +281,7 @@ syscall_exit_work: | |||
281 | ld.w r1, r0[TI_flags] | 281 | ld.w r1, r0[TI_flags] |
282 | rjmp 1b | 282 | rjmp 1b |
283 | 283 | ||
284 | 2: mov r2, _TIF_SIGPENDING | _TIF_RESTORE_SIGMASK | _TIF_NOTIFY_RESUME | 284 | 2: mov r2, _TIF_SIGPENDING | _TIF_NOTIFY_RESUME |
285 | tst r1, r2 | 285 | tst r1, r2 |
286 | breq 3f | 286 | breq 3f |
287 | unmask_interrupts | 287 | unmask_interrupts |
@@ -587,7 +587,7 @@ fault_exit_work: | |||
587 | ld.w r1, r0[TI_flags] | 587 | ld.w r1, r0[TI_flags] |
588 | rjmp fault_exit_work | 588 | rjmp fault_exit_work |
589 | 589 | ||
590 | 1: mov r2, _TIF_SIGPENDING | _TIF_RESTORE_SIGMASK | _TIF_NOTIFY_RESUME | 590 | 1: mov r2, _TIF_SIGPENDING | _TIF_NOTIFY_RESUME |
591 | tst r1, r2 | 591 | tst r1, r2 |
592 | breq 2f | 592 | breq 2f |
593 | unmask_interrupts | 593 | unmask_interrupts |
diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c index dc7875a0ad79..3ac1a60f9eb6 100644 --- a/arch/avr32/kernel/signal.c +++ b/arch/avr32/kernel/signal.c | |||
@@ -303,7 +303,7 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, struct thread_info *ti) | |||
303 | if ((sysreg_read(SR) & MODE_MASK) == MODE_SUPERVISOR) | 303 | if ((sysreg_read(SR) & MODE_MASK) == MODE_SUPERVISOR) |
304 | syscall = 1; | 304 | syscall = 1; |
305 | 305 | ||
306 | if (ti->flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK)) | 306 | if (ti->flags & _TIF_SIGPENDING)) |
307 | do_signal(regs, syscall); | 307 | do_signal(regs, syscall); |
308 | 308 | ||
309 | if (ti->flags & _TIF_NOTIFY_RESUME) { | 309 | if (ti->flags & _TIF_NOTIFY_RESUME) { |