.. | .. |
---|
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, |
---|