| .. | .. |
|---|
| 30 | 30 | #include <asm/ucontext.h> |
|---|
| 31 | 31 | #include <asm/rt_sigframe.h> |
|---|
| 32 | 32 | #include <linux/uaccess.h> |
|---|
| 33 | | -#include <asm/pgalloc.h> |
|---|
| 34 | 33 | #include <asm/cacheflush.h> |
|---|
| 35 | 34 | #include <asm/asm-offsets.h> |
|---|
| 36 | 35 | |
|---|
| .. | .. |
|---|
| 65 | 64 | #define INSN_LDI_R25_1 0x34190002 /* ldi 1,%r25 (in_syscall=1) */ |
|---|
| 66 | 65 | #define INSN_LDI_R20 0x3414015a /* ldi __NR_rt_sigreturn,%r20 */ |
|---|
| 67 | 66 | #define INSN_BLE_SR2_R0 0xe4008200 /* be,l 0x100(%sr2,%r0),%sr0,%r31 */ |
|---|
| 68 | | -#define INSN_NOP 0x08000240 /* nop */ |
|---|
| 69 | 67 | /* For debugging */ |
|---|
| 70 | 68 | #define INSN_DIE_HORRIBLY 0x68000ccc /* stw %r0,0x666(%sr0,%r0) */ |
|---|
| 71 | 69 | |
|---|
| .. | .. |
|---|
| 165 | 163 | |
|---|
| 166 | 164 | give_sigsegv: |
|---|
| 167 | 165 | DBG(1,"sys_rt_sigreturn: Sending SIGSEGV\n"); |
|---|
| 168 | | - force_sig(SIGSEGV, current); |
|---|
| 166 | + force_sig(SIGSEGV); |
|---|
| 169 | 167 | return; |
|---|
| 170 | 168 | } |
|---|
| 171 | 169 | |
|---|
| .. | .. |
|---|
| 510 | 508 | regs->gr[28] = -EINTR; |
|---|
| 511 | 509 | break; |
|---|
| 512 | 510 | } |
|---|
| 513 | | - /* fallthrough */ |
|---|
| 511 | + fallthrough; |
|---|
| 514 | 512 | case -ERESTARTNOINTR: |
|---|
| 515 | 513 | check_syscallno_in_delay_branch(regs); |
|---|
| 516 | 514 | break; |
|---|
| .. | .. |
|---|
| 611 | 609 | |
|---|
| 612 | 610 | void do_notify_resume(struct pt_regs *regs, long in_syscall) |
|---|
| 613 | 611 | { |
|---|
| 614 | | - if (test_thread_flag(TIF_SIGPENDING)) |
|---|
| 612 | + if (test_thread_flag(TIF_SIGPENDING) || |
|---|
| 613 | + test_thread_flag(TIF_NOTIFY_SIGNAL)) |
|---|
| 615 | 614 | do_signal(regs, in_syscall); |
|---|
| 616 | 615 | |
|---|
| 617 | | - if (test_thread_flag(TIF_NOTIFY_RESUME)) { |
|---|
| 618 | | - clear_thread_flag(TIF_NOTIFY_RESUME); |
|---|
| 616 | + if (test_thread_flag(TIF_NOTIFY_RESUME)) |
|---|
| 619 | 617 | tracehook_notify_resume(regs); |
|---|
| 620 | | - } |
|---|
| 621 | 618 | } |
|---|