Lines Matching refs:ksig
277 __setup_frame(int sig, struct ksignal *ksig, sigset_t *set, in __setup_frame() argument
285 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in __setup_frame()
307 if (ksig->ka.sa.sa_flags & SA_RESTORER) in __setup_frame()
308 restorer = ksig->ka.sa.sa_restorer; in __setup_frame()
327 regs->ip = (unsigned long)ksig->ka.sa.sa_handler; in __setup_frame()
340 static int __setup_rt_frame(int sig, struct ksignal *ksig, in __setup_rt_frame() argument
348 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in __setup_rt_frame()
369 if (ksig->ka.sa.sa_flags & SA_RESTORER) in __setup_rt_frame()
370 restorer = ksig->ka.sa.sa_restorer; in __setup_rt_frame()
383 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in __setup_rt_frame()
393 regs->ip = (unsigned long)ksig->ka.sa.sa_handler; in __setup_rt_frame()
406 static int __setup_rt_frame(int sig, struct ksignal *ksig, in __setup_rt_frame() argument
413 frame = get_sigframe(&ksig->ka, regs, sizeof(struct rt_sigframe), &fp); in __setup_rt_frame()
418 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in __setup_rt_frame()
419 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in __setup_rt_frame()
435 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in __setup_rt_frame()
436 put_user_ex(ksig->ka.sa.sa_restorer, &frame->pretcode); in __setup_rt_frame()
458 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in __setup_rt_frame()
470 static int x32_setup_rt_frame(struct ksignal *ksig, in x32_setup_rt_frame() argument
480 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in x32_setup_rt_frame()
485 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in x32_setup_rt_frame()
486 if (copy_siginfo_to_user32(&frame->info, &ksig->info)) in x32_setup_rt_frame()
500 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in x32_setup_rt_frame()
501 restorer = ksig->ka.sa.sa_restorer; in x32_setup_rt_frame()
519 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in x32_setup_rt_frame()
522 regs->di = ksig->sig; in x32_setup_rt_frame()
612 setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) in setup_rt_frame() argument
614 int usig = ksig->sig; in setup_rt_frame()
620 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
621 return ia32_setup_rt_frame(usig, ksig, cset, regs); in setup_rt_frame()
623 return ia32_setup_frame(usig, ksig, cset, regs); in setup_rt_frame()
625 return x32_setup_rt_frame(ksig, cset, regs); in setup_rt_frame()
627 return __setup_rt_frame(ksig->sig, ksig, set, regs); in setup_rt_frame()
632 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
650 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
671 failed = (setup_rt_frame(ksig, regs) < 0); in handle_signal()
690 signal_setup_done(failed, ksig, stepping); in handle_signal()
710 struct ksignal ksig; in do_signal() local
712 if (get_signal(&ksig)) { in do_signal()
714 handle_signal(&ksig, regs); in do_signal()