Home
last modified time | relevance | path

Searched refs:ksig (Results 1 – 25 of 48) sorted by relevance

12

/linux/arch/x86/kernel/
A Dsignal.c347 restorer = ksig->ka.sa.sa_restorer; in __setup_frame()
587 restorer = ksig->ka.sa.sa_restorer; in x32_setup_rt_frame()
603 regs->di = ksig->sig; in x32_setup_rt_frame()
759 ksig->ka.sa.sa_flags & SA_X32_ABI; in is_x32_frame()
765 int usig = ksig->sig; in setup_rt_frame()
770 rseq_signal_deliver(ksig, regs); in setup_rt_frame()
773 if (is_ia32_frame(ksig)) { in setup_rt_frame()
778 } else if (is_x32_frame(ksig)) { in setup_rt_frame()
781 return __setup_rt_frame(ksig->sig, ksig, set, regs); in setup_rt_frame()
866 struct ksignal ksig; in arch_do_signal_or_restart() local
[all …]
/linux/arch/h8300/kernel/
A Dsignal.c165 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
170 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
184 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_rt_frame()
185 ret = (unsigned char *)(ksig->ka.sa.sa_restorer); in setup_rt_frame()
201 regs->er0 = ksig->sig; in setup_rt_frame()
249 handle_restart(regs, &ksig->ka); in handle_signal()
251 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
253 signal_setup_done(ret, ksig, 0); in handle_signal()
263 struct ksignal ksig; in do_signal() local
267 if (get_signal(&ksig)) { in do_signal()
[all …]
/linux/arch/csky/kernel/
A Dsignal.c128 sp = sigsp(sp, ksig) - framesize; in get_sigframe()
142 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
168 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
170 regs->a0 = ksig->sig; /* a0: signal number */ in setup_rt_frame()
182 rseq_signal_deliver(ksig, regs); in handle_signal()
197 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
210 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
212 signal_setup_done(ret, ksig, 0); in handle_signal()
217 struct ksignal ksig; in do_signal() local
219 if (get_signal(&ksig)) { in do_signal()
[all …]
/linux/arch/um/kernel/
A Dsignal.c49 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
69 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
82 if ((ksig->ka.sa.sa_flags & SA_ONSTACK) && (sas_ss_flags(sp) == 0)) in handle_signal()
86 if (!(ksig->ka.sa.sa_flags & SA_SIGINFO)) in handle_signal()
87 err = setup_signal_stack_sc(sp, ksig, regs, oldset); in handle_signal()
90 err = setup_signal_stack_si(sp, ksig, regs, oldset); in handle_signal()
92 signal_setup_done(err, ksig, singlestep); in handle_signal()
97 struct ksignal ksig; in do_signal() local
100 while (get_signal(&ksig)) { in do_signal()
103 handle_signal(&ksig, regs); in do_signal()
/linux/arch/openrisc/kernel/
A Dsignal.c129 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument
136 sp = sigsp(sp, ksig); in get_sigframe()
156 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
162 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
163 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
204 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
208 ret = setup_rt_frame(ksig, sigmask_to_save(), regs); in handle_signal()
227 struct ksignal ksig; in do_signal() local
262 if (get_signal(&ksig)) { in do_signal()
267 && !(ksig.ka.sa.sa_flags & SA_RESTART))) { in do_signal()
[all …]
/linux/arch/arm/kernel/
A Dsignal.c344 if (ksig->ka.sa.sa_flags & SA_THIRTYTWO) in setup_return()
386 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_return()
397 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_return()
434 regs->ARM_r0 = ksig->sig; in setup_return()
509 rseq_signal_deliver(ksig, regs); in handle_signal()
514 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal()
517 ret = setup_frame(ksig, oldset, regs); in handle_signal()
524 signal_setup_done(ret, ksig, 0); in handle_signal()
539 struct ksignal ksig; in do_signal() local
577 if (get_signal(&ksig)) { in do_signal()
[all …]
/linux/arch/sh/kernel/
A Dsignal_32.c270 int err = 0, sig = ksig->sig; in setup_frame()
285 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame()
321 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_frame()
336 int err = 0, sig = ksig->sig; in setup_rt_frame()
355 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame()
439 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal()
440 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
442 ret = setup_frame(ksig, oldset, regs); in handle_signal()
458 struct ksignal ksig; in do_signal() local
469 if (get_signal(&ksig)) { in do_signal()
[all …]
/linux/arch/riscv/kernel/
A Dsignal.c166 sp = sigsp(sp, ksig) - framesize; in get_sigframe()
180 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
184 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
217 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
225 current->comm, task_pid_nr(current), ksig->sig, in setup_rt_frame()
249 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
262 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
264 signal_setup_done(ret, ksig, 0); in handle_signal()
269 struct ksignal ksig; in do_signal() local
271 if (get_signal(&ksig)) { in do_signal()
[all …]
/linux/arch/sparc/kernel/
A Dsignal_32.c212 sp = sigsp(sp, ksig) - framesize; in get_sigframe()
292 regs->u_regs[UREG_I0] = ksig->sig; in setup_frame()
301 if (ksig->ka.ka_restorer) in setup_frame()
391 regs->u_regs[UREG_I0] = ksig->sig; in setup_rt_frame()
398 if (ksig->ka.ka_restorer) in setup_rt_frame()
423 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal()
426 err = setup_frame(ksig, regs, oldset); in handle_signal()
427 signal_setup_done(err, ksig, 0); in handle_signal()
457 struct ksignal ksig; in do_signal() local
482 has_handler = get_signal(&ksig); in do_signal()
[all …]
A Dsignal32.c276 sp = sigsp(sp, ksig) - framesize; in get_sigframe()
381 force_sigsegv(ksig->sig); in setup_frame32()
457 regs->u_regs[UREG_I0] = ksig->sig; in setup_frame32()
470 if (ksig->ka.ka_restorer) { in setup_frame32()
515 force_sigsegv(ksig->sig); in setup_rt_frame32()
589 regs->u_regs[UREG_I0] = ksig->sig; in setup_rt_frame32()
602 if (ksig->ka.ka_restorer) in setup_rt_frame32()
633 signal_setup_done(err, ksig, 0); in handle_signal32()
663 struct ksignal ksig; in do_signal32() local
666 bool has_handler = get_signal(&ksig); in do_signal32()
[all …]
/linux/arch/microblaze/kernel/
A Dsignal.c149 unsigned long sp = sigsp(regs->r1, ksig); in get_sigframe()
158 int err = 0, sig = ksig->sig; in setup_rt_frame()
163 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
168 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
169 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
219 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
265 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
281 struct ksignal ksig; in do_signal() local
289 if (get_signal(&ksig)) { in do_signal()
292 handle_restart(regs, &ksig.ka, 1); in do_signal()
[all …]
/linux/arch/hexagon/kernel/
A Dsignal.c31 unsigned long sp = sigsp(regs->r29, ksig); in get_sigframe()
96 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument
103 frame = get_sigframe(ksig, regs, sizeof(struct rt_sigframe)); in setup_rt_frame()
108 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in setup_rt_frame()
125 | (unsigned long long)ksig->sig; in setup_rt_frame()
129 pt_set_elr(regs, (unsigned long)ksig->ka.sa.sa_handler); in setup_rt_frame()
154 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
174 ret = setup_rt_frame(ksig, sigmask_to_save(), regs); in handle_signal()
184 struct ksignal ksig; in do_signal() local
189 if (get_signal(&ksig)) { in do_signal()
[all …]
/linux/arch/nios2/kernel/
A Dsignal.c174 usp = sigsp(usp, ksig); in get_sigframe()
186 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
188 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
207 regs->r4 = (unsigned long) ksig->sig; in setup_rt_frame()
214 force_sigsegv(ksig->sig); in setup_rt_frame()
227 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
229 signal_setup_done(ret, ksig, 0); in handle_signal()
236 struct ksignal ksig; in do_signal() local
267 if (get_signal(&ksig)) { in do_signal()
273 && !(ksig.ka.sa.sa_flags & SA_RESTART))) { in do_signal()
[all …]
/linux/arch/arc/kernel/
A Dsignal.c251 unsigned long sp = sigsp(regs->sp, ksig); in get_sigframe()
294 if (unlikely(ksig->ka.sa.sa_flags & SA_SIGINFO)) { in setup_rt_frame()
295 err |= copy_siginfo_to_user(&sf->info, &ksig->info); in setup_rt_frame()
316 regs->r0 = ksig->sig; in setup_rt_frame()
319 regs->ret = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
325 if(!(ksig->ka.sa.sa_flags & SA_RESTORER)) in setup_rt_frame()
396 failed = setup_rt_frame(ksig, oldset, regs); in handle_signal()
398 signal_setup_done(failed, ksig, 0); in handle_signal()
403 struct ksignal ksig; in do_signal() local
410 arc_restart_syscall(&ksig.ka, regs); in do_signal()
[all …]
/linux/arch/s390/kernel/
A Dsignal.c395 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_rt_frame()
425 regs->gprs[2] = ksig->sig; in setup_rt_frame()
438 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal()
439 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
441 ret = setup_frame(ksig->sig, &ksig->ka, oldset, regs); in handle_signal()
458 struct ksignal ksig; in arch_do_signal_or_restart() local
469 if (has_signal && get_signal(&ksig)) { in arch_do_signal_or_restart()
480 if (!(ksig.ka.sa.sa_flags & SA_RESTART)) { in arch_do_signal_or_restart()
496 rseq_signal_deliver(&ksig, regs); in arch_do_signal_or_restart()
498 handle_signal32(&ksig, oldset, regs); in arch_do_signal_or_restart()
[all …]
A Dcompat_signal.c257 int sig = ksig->sig; in setup_frame32()
271 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_frame32()
303 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame32()
305 ksig->ka.sa.sa_restorer | PSW32_ADDR_AMODE; in setup_frame32()
356 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_rt_frame32()
366 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame32()
368 ksig->ka.sa.sa_restorer | PSW32_ADDR_AMODE; in setup_rt_frame32()
398 regs->gprs[2] = ksig->sig; in setup_rt_frame32()
415 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal32()
416 ret = setup_rt_frame32(ksig, oldset, regs); in handle_signal32()
[all …]
/linux/arch/powerpc/kernel/
A Dsignal.c160 oldsp = sigsp(oldsp, ksig); in get_sigframe()
234 struct ksignal ksig = { .sig = 0 }; in do_signal() local
239 get_signal(&ksig); in do_signal()
242 check_syscall_restart(tsk->thread.regs, &ksig.ka, ksig.sig > 0); in do_signal()
244 if (ksig.sig <= 0) { in do_signal()
268 rseq_signal_deliver(&ksig, tsk->thread.regs); in do_signal()
271 if (ksig.ka.sa.sa_flags & SA_SIGINFO) in do_signal()
272 ret = handle_rt_signal32(&ksig, oldset, tsk); in do_signal()
274 ret = handle_signal32(&ksig, oldset, tsk); in do_signal()
276 ret = handle_rt_signal64(&ksig, oldset, tsk); in do_signal()
[all …]
/linux/arch/x86/ia32/
A Dia32_signal.c212 if (ksig->ka.sa.sa_flags & SA_ONSTACK) in get_sigframe()
213 sp = sigsp(sp, ksig); in get_sigframe()
216 !(ksig->ka.sa.sa_flags & SA_RESTORER) && in get_sigframe()
217 ksig->ka.sa.sa_restorer) in get_sigframe()
218 sp = (unsigned long) ksig->ka.sa.sa_restorer; in get_sigframe()
233 int ia32_setup_frame(int sig, struct ksignal *ksig, in ia32_setup_frame() argument
253 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in ia32_setup_frame()
254 restorer = ksig->ka.sa.sa_restorer; in ia32_setup_frame()
280 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in ia32_setup_frame()
336 if (ksig->ka.sa.sa_flags & SA_RESTORER) in ia32_setup_rt_frame()
[all …]
/linux/arch/ia64/kernel/
A Dsignal.c236 if (ksig->ka.sa.sa_flags & SA_ONSTACK) { in setup_frame()
260 force_sigsegv(ksig->sig); in setup_frame()
268 force_sigsegv(ksig->sig); in setup_frame()
272 err = __put_user(ksig->sig, &frame->arg0); in setup_frame()
285 force_sigsegv(ksig->sig); in setup_frame()
320 int ret = setup_frame(ksig, sigmask_to_save(), scr); in handle_signal()
337 struct ksignal ksig; in ia64_do_signal() local
344 if (!get_signal(&ksig)) in ia64_do_signal()
362 if (ksig.sig <= 0) in ia64_do_signal()
373 if ((ksig.ka.sa.sa_flags & SA_RESTART) == 0) { in ia64_do_signal()
[all …]
/linux/arch/alpha/kernel/
A Dsignal.c344 r26 = (unsigned long) ksig->ka.ka_restorer; in setup_frame()
360 regs->r16 = ksig->sig; /* a0: signal number */ in setup_frame()
398 r26 = (unsigned long) ksig->ka.ka_restorer; in setup_rt_frame()
437 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal()
438 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
440 ret = setup_frame(ksig, oldset, regs); in handle_signal()
442 signal_setup_done(ret, ksig, 0); in handle_signal()
486 struct ksignal ksig; in do_signal() local
489 if (get_signal(&ksig)) { in do_signal()
494 syscall_restart(r0, r19, regs, &ksig.ka); in do_signal()
[all …]
/linux/arch/parisc/kernel/
A Dsignal.c248 frame = get_sigframe(&ksig->ka, usp, sigframe_size); in setup_rt_frame()
251 DBG(1,"setup_rt_frame: frame %p info %p\n", frame, ksig->info); in setup_rt_frame()
275 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
314 haddr = A(ksig->ka.sa.sa_handler); in setup_rt_frame()
381 regs->gr[26] = ksig->sig; /* signal number */ in setup_rt_frame()
419 ksig->sig, ksig->ka, ksig->info, oldset, regs); in handle_signal()
422 ret = setup_rt_frame(ksig, oldset, regs, in_syscall); in handle_signal()
573 struct ksignal ksig; in do_signal() local
578 if (get_signal(&ksig)) { in do_signal()
582 syscall_restart(regs, &ksig.ka); in do_signal()
[all …]
/linux/arch/nds32/kernel/
A Dsignal.c246 sp = (sigsp(sp, ksig) - framesize); in get_sigframe()
263 regs->uregs[0] = ksig->sig; in setup_return()
275 get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
287 setup_return(regs, ksig, frame); in setup_rt_frame()
288 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_rt_frame()
315 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
329 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
331 signal_setup_done(ret, ksig, 0); in handle_signal()
345 struct ksignal ksig; in do_signal() local
347 if (get_signal(&ksig)) { in do_signal()
[all …]
/linux/arch/xtensa/kernel/
A Dsignal.c341 static int setup_frame(struct ksignal *ksig, sigset_t *set, in setup_frame() argument
345 int err = 0, sig = ksig->sig; in setup_frame()
364 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_frame()
365 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_frame()
376 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame()
377 ra = (unsigned long)ksig->ka.sa.sa_restorer; in setup_frame()
435 struct ksignal ksig; in do_signal() local
439 if (get_signal(&ksig)) { in do_signal()
455 if (!(ksig.ka.sa.sa_flags & SA_RESTART)) { in do_signal()
474 ret = setup_frame(&ksig, sigmask_to_save(), regs); in do_signal()
[all …]
/linux/arch/x86/um/
A Dsignal.c365 int err = 0, sig = ksig->sig; in setup_signal_stack_sc()
374 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_sc()
375 restorer = ksig->ka.sa.sa_restorer; in setup_signal_stack_sc()
411 int err = 0, sig = ksig->sig; in setup_signal_stack_si()
419 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_si()
420 restorer = ksig->ka.sa.sa_restorer; in setup_signal_stack_si()
426 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_signal_stack_si()
492 int err = 0, sig = ksig->sig; in setup_signal_stack_si()
503 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_signal_stack_si()
532 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_si()
[all …]
/linux/arch/mips/kernel/
A Dsignal.c572 sp = sigsp(sp, ksig); in get_sigframe()
732 regs->regs[ 4] = ksig->sig; in setup_frame()
779 regs->regs[ 4] = ksig->sig; in setup_rt_frame()
843 rseq_signal_deliver(ksig, regs); in handle_signal()
845 if (sig_uses_siginfo(&ksig->ka, abi)) in handle_signal()
847 ksig, regs, oldset); in handle_signal()
850 ksig, regs, oldset); in handle_signal()
852 signal_setup_done(ret, ksig, 0); in handle_signal()
857 struct ksignal ksig; in do_signal() local
859 if (get_signal(&ksig)) { in do_signal()
[all …]

Completed in 50 milliseconds

12