forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-10-16 50a212ec906f7524620675f0c57357691c26c81f
kernel/arch/h8300/kernel/signal.c
....@@ -43,7 +43,6 @@
4343
4444 #include <asm/setup.h>
4545 #include <linux/uaccess.h>
46
-#include <asm/pgtable.h>
4746 #include <asm/traps.h>
4847 #include <asm/ucontext.h>
4948
....@@ -110,7 +109,7 @@
110109 sigset_t set;
111110 int er0;
112111
113
- if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
112
+ if (!access_ok(frame, sizeof(*frame)))
114113 goto badframe;
115114 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set)))
116115 goto badframe;
....@@ -126,7 +125,7 @@
126125 return er0;
127126
128127 badframe:
129
- force_sig(SIGSEGV, current);
128
+ force_sig(SIGSEGV);
130129 return 0;
131130 }
132131
....@@ -165,7 +164,7 @@
165164
166165 frame = get_sigframe(ksig, regs, sizeof(*frame));
167166
168
- if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
167
+ if (!access_ok(frame, sizeof(*frame)))
169168 return -EFAULT;
170169
171170 if (ksig->ka.sa.sa_flags & SA_SIGINFO)
....@@ -228,7 +227,7 @@
228227 regs->er0 = -EINTR;
229228 break;
230229 }
231
- /* fallthrough */
230
+ fallthrough;
232231 case -ERESTARTNOINTR:
233232 do_restart:
234233 regs->er0 = regs->orig_er0;
....@@ -280,11 +279,9 @@
280279
281280 asmlinkage void do_notify_resume(struct pt_regs *regs, u32 thread_info_flags)
282281 {
283
- if (thread_info_flags & _TIF_SIGPENDING)
282
+ if (thread_info_flags & (_TIF_SIGPENDING | _TIF_NOTIFY_SIGNAL))
284283 do_signal(regs);
285284
286
- if (thread_info_flags & _TIF_NOTIFY_RESUME) {
287
- clear_thread_flag(TIF_NOTIFY_RESUME);
285
+ if (thread_info_flags & _TIF_NOTIFY_RESUME)
288286 tracehook_notify_resume(regs);
289
- }
290287 }