.. | .. |
---|
132 | 132 | */ |
---|
133 | 133 | retval = (long) &ia64_strace_leave_kernel; |
---|
134 | 134 | |
---|
135 | | - if (!access_ok(VERIFY_READ, sc, sizeof(*sc))) |
---|
| 135 | + if (!access_ok(sc, sizeof(*sc))) |
---|
136 | 136 | goto give_sigsegv; |
---|
137 | 137 | |
---|
138 | 138 | if (GET_SIGSET(&set, &sc->sc_mask)) |
---|
.. | .. |
---|
152 | 152 | return retval; |
---|
153 | 153 | |
---|
154 | 154 | give_sigsegv: |
---|
155 | | - force_sig(SIGSEGV, current); |
---|
| 155 | + force_sig(SIGSEGV); |
---|
156 | 156 | return retval; |
---|
157 | 157 | } |
---|
158 | 158 | |
---|
.. | .. |
---|
257 | 257 | */ |
---|
258 | 258 | check_sp = (new_sp - sizeof(*frame)) & -STACK_ALIGN; |
---|
259 | 259 | if (!likely(on_sig_stack(check_sp))) { |
---|
260 | | - force_sigsegv(ksig->sig, current); |
---|
| 260 | + force_sigsegv(ksig->sig); |
---|
261 | 261 | return 1; |
---|
262 | 262 | } |
---|
263 | 263 | } |
---|
264 | 264 | } |
---|
265 | 265 | frame = (void __user *) ((new_sp - sizeof(*frame)) & -STACK_ALIGN); |
---|
266 | 266 | |
---|
267 | | - if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) { |
---|
268 | | - force_sigsegv(ksig->sig, current); |
---|
| 267 | + if (!access_ok(frame, sizeof(*frame))) { |
---|
| 268 | + force_sigsegv(ksig->sig); |
---|
269 | 269 | return 1; |
---|
270 | 270 | } |
---|
271 | 271 | |
---|
.. | .. |
---|
282 | 282 | err |= setup_sigcontext(&frame->sc, set, scr); |
---|
283 | 283 | |
---|
284 | 284 | if (unlikely(err)) { |
---|
285 | | - force_sigsegv(ksig->sig, current); |
---|
| 285 | + force_sigsegv(ksig->sig); |
---|
286 | 286 | return 1; |
---|
287 | 287 | } |
---|
288 | 288 | |
---|
.. | .. |
---|
341 | 341 | * need to push through a forced SIGSEGV. |
---|
342 | 342 | */ |
---|
343 | 343 | while (1) { |
---|
344 | | - get_signal(&ksig); |
---|
| 344 | + if (!get_signal(&ksig)) |
---|
| 345 | + break; |
---|
345 | 346 | |
---|
346 | 347 | /* |
---|
347 | | - * get_signal_to_deliver() may have run a debugger (via notify_parent()) |
---|
| 348 | + * get_signal() may have run a debugger (via notify_parent()) |
---|
348 | 349 | * and the debugger may have modified the state (e.g., to arrange for an |
---|
349 | 350 | * inferior call), thus it's important to check for restarting _after_ |
---|
350 | | - * get_signal_to_deliver(). |
---|
| 351 | + * get_signal(). |
---|
351 | 352 | */ |
---|
352 | 353 | if ((long) scr->pt.r10 != -1) |
---|
353 | 354 | /* |
---|
.. | .. |
---|
363 | 364 | |
---|
364 | 365 | if (unlikely(restart)) { |
---|
365 | 366 | switch (errno) { |
---|
366 | | - case ERESTART_RESTARTBLOCK: |
---|
367 | | - case ERESTARTNOHAND: |
---|
| 367 | + case ERESTART_RESTARTBLOCK: |
---|
| 368 | + case ERESTARTNOHAND: |
---|
368 | 369 | scr->pt.r8 = EINTR; |
---|
369 | 370 | /* note: scr->pt.r10 is already -1 */ |
---|
370 | 371 | break; |
---|
371 | | - |
---|
372 | | - case ERESTARTSYS: |
---|
| 372 | + case ERESTARTSYS: |
---|
373 | 373 | if ((ksig.ka.sa.sa_flags & SA_RESTART) == 0) { |
---|
374 | 374 | scr->pt.r8 = EINTR; |
---|
375 | 375 | /* note: scr->pt.r10 is already -1 */ |
---|
376 | 376 | break; |
---|
377 | 377 | } |
---|
378 | | - case ERESTARTNOINTR: |
---|
| 378 | + fallthrough; |
---|
| 379 | + case ERESTARTNOINTR: |
---|
379 | 380 | ia64_decrement_ip(&scr->pt); |
---|
380 | 381 | restart = 0; /* don't restart twice if handle_signal() fails... */ |
---|
381 | 382 | } |
---|