| .. | .. |
|---|
| 23 | 23 | |
|---|
| 24 | 24 | #include <linux/uaccess.h> |
|---|
| 25 | 25 | #include <asm/ptrace.h> |
|---|
| 26 | | -#include <asm/pgalloc.h> |
|---|
| 27 | | -#include <asm/pgtable.h> |
|---|
| 28 | 26 | #include <asm/cacheflush.h> /* flush_sig_insns */ |
|---|
| 29 | 27 | #include <asm/switch_to.h> |
|---|
| 30 | 28 | |
|---|
| .. | .. |
|---|
| 67 | 65 | */ |
|---|
| 68 | 66 | static inline bool invalid_frame_pointer(void __user *fp, int fplen) |
|---|
| 69 | 67 | { |
|---|
| 70 | | - if ((((unsigned long) fp) & 15) || !__access_ok((unsigned long)fp, fplen)) |
|---|
| 68 | + if ((((unsigned long) fp) & 15) || !access_ok(fp, fplen)) |
|---|
| 71 | 69 | return true; |
|---|
| 72 | 70 | |
|---|
| 73 | 71 | return false; |
|---|
| .. | .. |
|---|
| 137 | 135 | return; |
|---|
| 138 | 136 | |
|---|
| 139 | 137 | segv_and_exit: |
|---|
| 140 | | - force_sig(SIGSEGV, current); |
|---|
| 138 | + force_sig(SIGSEGV); |
|---|
| 141 | 139 | } |
|---|
| 142 | 140 | |
|---|
| 143 | 141 | asmlinkage void do_rt_sigreturn(struct pt_regs *regs) |
|---|
| .. | .. |
|---|
| 196 | 194 | set_current_blocked(&set); |
|---|
| 197 | 195 | return; |
|---|
| 198 | 196 | segv: |
|---|
| 199 | | - force_sig(SIGSEGV, current); |
|---|
| 197 | + force_sig(SIGSEGV); |
|---|
| 200 | 198 | } |
|---|
| 201 | 199 | |
|---|
| 202 | 200 | static inline void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long framesize) |
|---|
| .. | .. |
|---|
| 442 | 440 | case ERESTARTSYS: |
|---|
| 443 | 441 | if (!(sa->sa_flags & SA_RESTART)) |
|---|
| 444 | 442 | goto no_system_call_restart; |
|---|
| 445 | | - /* fallthrough */ |
|---|
| 443 | + fallthrough; |
|---|
| 446 | 444 | case ERESTARTNOINTR: |
|---|
| 447 | 445 | regs->u_regs[UREG_I0] = orig_i0; |
|---|
| 448 | 446 | regs->pc -= 4; |
|---|
| .. | .. |
|---|
| 508 | 506 | regs->pc -= 4; |
|---|
| 509 | 507 | regs->npc -= 4; |
|---|
| 510 | 508 | pt_regs_clear_syscall(regs); |
|---|
| 509 | + fallthrough; |
|---|
| 511 | 510 | case ERESTART_RESTARTBLOCK: |
|---|
| 512 | 511 | regs->u_regs[UREG_G1] = __NR_restart_syscall; |
|---|
| 513 | 512 | regs->pc -= 4; |
|---|
| .. | .. |
|---|
| 522 | 521 | void do_notify_resume(struct pt_regs *regs, unsigned long orig_i0, |
|---|
| 523 | 522 | unsigned long thread_info_flags) |
|---|
| 524 | 523 | { |
|---|
| 525 | | - if (thread_info_flags & _TIF_SIGPENDING) |
|---|
| 524 | + if (thread_info_flags & (_TIF_SIGPENDING | _TIF_NOTIFY_SIGNAL)) |
|---|
| 526 | 525 | do_signal(regs, orig_i0); |
|---|
| 527 | | - if (thread_info_flags & _TIF_NOTIFY_RESUME) { |
|---|
| 528 | | - clear_thread_flag(TIF_NOTIFY_RESUME); |
|---|
| 526 | + if (thread_info_flags & _TIF_NOTIFY_RESUME) |
|---|
| 529 | 527 | tracehook_notify_resume(regs); |
|---|
| 530 | | - } |
|---|
| 531 | 528 | } |
|---|
| 532 | 529 | |
|---|
| 533 | 530 | asmlinkage int do_sys_sigstack(struct sigstack __user *ssptr, |
|---|