| .. | .. |
|---|
| 25 | 25 | |
|---|
| 26 | 26 | #include <linux/uaccess.h> |
|---|
| 27 | 27 | #include <asm/ptrace.h> |
|---|
| 28 | | -#include <asm/pgtable.h> |
|---|
| 29 | 28 | #include <asm/fpumacro.h> |
|---|
| 30 | 29 | #include <asm/uctx.h> |
|---|
| 31 | 30 | #include <asm/siginfo.h> |
|---|
| .. | .. |
|---|
| 134 | 133 | exception_exit(prev_state); |
|---|
| 135 | 134 | return; |
|---|
| 136 | 135 | do_sigsegv: |
|---|
| 137 | | - force_sig(SIGSEGV, current); |
|---|
| 136 | + force_sig(SIGSEGV); |
|---|
| 138 | 137 | goto out; |
|---|
| 139 | 138 | } |
|---|
| 140 | 139 | |
|---|
| .. | .. |
|---|
| 228 | 227 | exception_exit(prev_state); |
|---|
| 229 | 228 | return; |
|---|
| 230 | 229 | do_sigsegv: |
|---|
| 231 | | - force_sig(SIGSEGV, current); |
|---|
| 230 | + force_sig(SIGSEGV); |
|---|
| 232 | 231 | goto out; |
|---|
| 233 | 232 | } |
|---|
| 234 | 233 | |
|---|
| .. | .. |
|---|
| 320 | 319 | set_current_blocked(&set); |
|---|
| 321 | 320 | return; |
|---|
| 322 | 321 | segv: |
|---|
| 323 | | - force_sig(SIGSEGV, current); |
|---|
| 322 | + force_sig(SIGSEGV); |
|---|
| 324 | 323 | } |
|---|
| 325 | 324 | |
|---|
| 326 | 325 | static inline void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long framesize) |
|---|
| .. | .. |
|---|
| 374 | 373 | pr_info("%s[%d] bad frame in setup_rt_frame: %016lx TPC %016lx O7 %016lx\n", |
|---|
| 375 | 374 | current->comm, current->pid, (unsigned long)sf, |
|---|
| 376 | 375 | regs->tpc, regs->u_regs[UREG_I7]); |
|---|
| 377 | | - force_sigsegv(ksig->sig, current); |
|---|
| 376 | + force_sigsegv(ksig->sig); |
|---|
| 378 | 377 | return -EINVAL; |
|---|
| 379 | 378 | } |
|---|
| 380 | 379 | |
|---|
| .. | .. |
|---|
| 462 | 461 | case ERESTARTSYS: |
|---|
| 463 | 462 | if (!(sa->sa_flags & SA_RESTART)) |
|---|
| 464 | 463 | goto no_system_call_restart; |
|---|
| 465 | | - /* fallthrough */ |
|---|
| 464 | + fallthrough; |
|---|
| 466 | 465 | case ERESTARTNOINTR: |
|---|
| 467 | 466 | regs->u_regs[UREG_I0] = orig_i0; |
|---|
| 468 | 467 | regs->tpc -= 4; |
|---|
| .. | .. |
|---|
| 533 | 532 | regs->tpc -= 4; |
|---|
| 534 | 533 | regs->tnpc -= 4; |
|---|
| 535 | 534 | pt_regs_clear_syscall(regs); |
|---|
| 535 | + fallthrough; |
|---|
| 536 | 536 | case ERESTART_RESTARTBLOCK: |
|---|
| 537 | 537 | regs->u_regs[UREG_G1] = __NR_restart_syscall; |
|---|
| 538 | 538 | regs->tpc -= 4; |
|---|
| .. | .. |
|---|
| 549 | 549 | user_exit(); |
|---|
| 550 | 550 | if (thread_info_flags & _TIF_UPROBE) |
|---|
| 551 | 551 | uprobe_notify_resume(regs); |
|---|
| 552 | | - if (thread_info_flags & _TIF_SIGPENDING) |
|---|
| 552 | + if (thread_info_flags & (_TIF_SIGPENDING | _TIF_NOTIFY_SIGNAL)) |
|---|
| 553 | 553 | do_signal(regs, orig_i0); |
|---|
| 554 | | - if (thread_info_flags & _TIF_NOTIFY_RESUME) { |
|---|
| 555 | | - clear_thread_flag(TIF_NOTIFY_RESUME); |
|---|
| 554 | + if (thread_info_flags & _TIF_NOTIFY_RESUME) |
|---|
| 556 | 555 | tracehook_notify_resume(regs); |
|---|
| 557 | | - } |
|---|
| 558 | 556 | user_enter(); |
|---|
| 559 | 557 | } |
|---|
| 560 | 558 | |
|---|