Lines Matching refs:ksig
274 __setup_frame(int sig, struct ksignal *ksig, sigset_t *set, in __setup_frame() argument
282 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in __setup_frame()
304 if (ksig->ka.sa.sa_flags & SA_RESTORER) in __setup_frame()
305 restorer = ksig->ka.sa.sa_restorer; in __setup_frame()
324 regs->ip = (unsigned long)ksig->ka.sa.sa_handler; in __setup_frame()
337 static int __setup_rt_frame(int sig, struct ksignal *ksig, in __setup_rt_frame() argument
345 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in __setup_rt_frame()
366 if (ksig->ka.sa.sa_flags & SA_RESTORER) in __setup_rt_frame()
367 restorer = ksig->ka.sa.sa_restorer; in __setup_rt_frame()
380 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in __setup_rt_frame()
390 regs->ip = (unsigned long)ksig->ka.sa.sa_handler; in __setup_rt_frame()
403 static int __setup_rt_frame(int sig, struct ksignal *ksig, in __setup_rt_frame() argument
410 frame = get_sigframe(&ksig->ka, regs, sizeof(struct rt_sigframe), &fp); in __setup_rt_frame()
415 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in __setup_rt_frame()
416 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in __setup_rt_frame()
432 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in __setup_rt_frame()
433 put_user_ex(ksig->ka.sa.sa_restorer, &frame->pretcode); in __setup_rt_frame()
455 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in __setup_rt_frame()
467 static int x32_setup_rt_frame(struct ksignal *ksig, in x32_setup_rt_frame() argument
477 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in x32_setup_rt_frame()
482 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in x32_setup_rt_frame()
483 if (copy_siginfo_to_user32(&frame->info, &ksig->info)) in x32_setup_rt_frame()
497 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in x32_setup_rt_frame()
498 restorer = ksig->ka.sa.sa_restorer; in x32_setup_rt_frame()
516 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in x32_setup_rt_frame()
519 regs->di = ksig->sig; in x32_setup_rt_frame()
593 setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) in setup_rt_frame() argument
595 int usig = ksig->sig; in setup_rt_frame()
601 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
602 return ia32_setup_rt_frame(usig, ksig, cset, regs); in setup_rt_frame()
604 return ia32_setup_frame(usig, ksig, cset, regs); in setup_rt_frame()
606 return x32_setup_rt_frame(ksig, cset, regs); in setup_rt_frame()
608 return __setup_rt_frame(ksig->sig, ksig, set, regs); in setup_rt_frame()
613 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
627 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
648 failed = (setup_rt_frame(ksig, regs) < 0); in handle_signal()
667 signal_setup_done(failed, ksig, stepping); in handle_signal()
687 struct ksignal ksig; in do_signal() local
689 if (get_signal(&ksig)) { in do_signal()
691 handle_signal(&ksig, regs); in do_signal()