Lines Matching refs:ksig

301 get_sigframe(struct ksignal *ksig, struct pt_regs *regs, int framesize)  in get_sigframe()  argument
303 unsigned long sp = sigsp(regs->ARM_sp, ksig); in get_sigframe()
321 setup_return(struct pt_regs *regs, struct ksignal *ksig, in setup_return() argument
324 unsigned long handler = (unsigned long)ksig->ka.sa.sa_handler; in setup_return()
345 if (ksig->ka.sa.sa_flags & SA_THIRTYTWO) in setup_return()
376 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_return()
377 retcode = (unsigned long)ksig->ka.sa.sa_restorer; in setup_return()
387 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_return()
398 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_return()
435 regs->ARM_r0 = ksig->sig; in setup_return()
447 setup_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) in setup_frame() argument
449 struct sigframe __user *frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_frame()
462 err = setup_return(regs, ksig, frame->retcode, frame); in setup_frame()
468 setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) in setup_rt_frame() argument
470 struct rt_sigframe __user *frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
476 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
484 err = setup_return(regs, ksig, frame->sig.retcode, frame); in setup_rt_frame()
502 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
510 rseq_signal_deliver(ksig, regs); in handle_signal()
515 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal()
516 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal()
518 ret = setup_frame(ksig, oldset, regs); in handle_signal()
525 signal_setup_done(ret, ksig, 0); in handle_signal()
540 struct ksignal ksig; in do_signal() local
578 if (get_signal(&ksig)) { in do_signal()
584 && !(ksig.ka.sa.sa_flags & SA_RESTART))) { in do_signal()
589 handle_signal(&ksig, regs); in do_signal()