Lines Matching refs:regs
21 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
32 if (PT_REGS_SYSCALL_NR(regs) >= 0) { in handle_signal()
34 switch (PT_REGS_SYSCALL_RET(regs)) { in handle_signal()
37 PT_REGS_SYSCALL_RET(regs) = -EINTR; in handle_signal()
42 PT_REGS_SYSCALL_RET(regs) = -EINTR; in handle_signal()
47 PT_REGS_RESTART_SYSCALL(regs); in handle_signal()
48 PT_REGS_ORIG_SYSCALL(regs) = PT_REGS_SYSCALL_NR(regs); in handle_signal()
53 sp = PT_REGS_SP(regs); in handle_signal()
59 err = setup_signal_stack_sc(sp, ksig, regs, oldset); in handle_signal()
62 err = setup_signal_stack_si(sp, ksig, regs, oldset); in handle_signal()
67 static int kern_do_signal(struct pt_regs *regs) in kern_do_signal() argument
75 handle_signal(&ksig, regs); in kern_do_signal()
79 if (!handled_sig && (PT_REGS_SYSCALL_NR(regs) >= 0)) { in kern_do_signal()
81 switch (PT_REGS_SYSCALL_RET(regs)) { in kern_do_signal()
85 PT_REGS_ORIG_SYSCALL(regs) = PT_REGS_SYSCALL_NR(regs); in kern_do_signal()
86 PT_REGS_RESTART_SYSCALL(regs); in kern_do_signal()
89 PT_REGS_ORIG_SYSCALL(regs) = __NR_restart_syscall; in kern_do_signal()
90 PT_REGS_RESTART_SYSCALL(regs); in kern_do_signal()
105 is_syscall(PT_REGS_IP(¤t->thread.regs)); in kern_do_signal()
118 return kern_do_signal(¤t->thread.regs); in do_signal()