/linux-6.6.21/arch/x86/kernel/ |
D | signal.c | 45 static inline int is_ia32_compat_frame(struct ksignal *ksig) in is_ia32_compat_frame() argument 48 ksig->ka.sa.sa_flags & SA_IA32_ABI; in is_ia32_compat_frame() 51 static inline int is_ia32_frame(struct ksignal *ksig) in is_ia32_frame() argument 53 return IS_ENABLED(CONFIG_X86_32) || is_ia32_compat_frame(ksig); in is_ia32_frame() 56 static inline int is_x32_frame(struct ksignal *ksig) in is_x32_frame() argument 59 ksig->ka.sa.sa_flags & SA_X32_ABI; in is_x32_frame() 75 get_sigframe(struct ksignal *ksig, struct pt_regs *regs, size_t frame_size, in get_sigframe() argument 78 struct k_sigaction *ka = &ksig->ka; in get_sigframe() 79 int ia32_frame = is_ia32_frame(ksig); in get_sigframe() 208 setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) in setup_rt_frame() argument [all …]
|
D | signal_64.c | 164 int x64_setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) in x64_setup_rt_frame() argument 172 if (!(ksig->ka.sa.sa_flags & SA_RESTORER)) in x64_setup_rt_frame() 175 frame = get_sigframe(ksig, regs, sizeof(struct rt_sigframe), &fp); in x64_setup_rt_frame() 188 unsafe_put_user(ksig->ka.sa.sa_restorer, &frame->pretcode, Efault); in x64_setup_rt_frame() 193 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in x64_setup_rt_frame() 194 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in x64_setup_rt_frame() 198 if (setup_signal_shadow_stack(ksig)) in x64_setup_rt_frame() 202 regs->di = ksig->sig; in x64_setup_rt_frame() 210 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in x64_setup_rt_frame() 303 int x32_setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) in x32_setup_rt_frame() argument [all …]
|
/linux-6.6.21/arch/um/kernel/ |
D | signal.c | 49 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-6.6.21/arch/openrisc/kernel/ |
D | signal.c | 136 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument 143 sp = sigsp(sp, ksig); in get_sigframe() 156 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument 163 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame() 169 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame() 170 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame() 198 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; /* what we enter NOW */ in setup_rt_frame() 200 regs->gpr[3] = (unsigned long)ksig->sig; /* arg 1: signo */ in setup_rt_frame() 211 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument 215 ret = setup_rt_frame(ksig, sigmask_to_save(), regs); in handle_signal() [all …]
|
/linux-6.6.21/arch/csky/kernel/ |
D | signal.c | 113 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument 128 sp = sigsp(sp, ksig) - framesize; in get_sigframe() 137 setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) in setup_rt_frame() argument 142 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame() 146 err |= copy_siginfo_to_user(&frame->info, &ksig->info); 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() 177 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument 195 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal() 208 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal() [all …]
|
/linux-6.6.21/arch/arm/kernel/ |
D | signal.c | 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() [all …]
|
/linux-6.6.21/arch/sh/kernel/ |
D | signal_32.c | 269 static int setup_frame(struct ksignal *ksig, sigset_t *set, in setup_frame() argument 273 int err = 0, sig = ksig->sig; in setup_frame() 275 frame = get_sigframe(&ksig->ka, regs->regs[15], sizeof(*frame)); in setup_frame() 288 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame() 289 regs->pr = (unsigned long) ksig->ka.sa.sa_restorer; in setup_frame() 319 (struct fdpic_func_descriptor __user *)ksig->ka.sa.sa_handler; in setup_frame() 324 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_frame() 335 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument 339 int err = 0, sig = ksig->sig; in setup_rt_frame() 341 frame = get_sigframe(&ksig->ka, regs->regs[15], sizeof(*frame)); in setup_rt_frame() [all …]
|
/linux-6.6.21/arch/sparc/kernel/ |
D | signal_32.c | 200 static inline void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long f… in get_sigframe() argument 212 sp = sigsp(sp, ksig) - framesize; in get_sigframe() 225 static int setup_frame(struct ksignal *ksig, struct pt_regs *regs, in setup_frame() argument 244 get_sigframe(ksig, regs, sigframe_size); in setup_frame() 292 regs->u_regs[UREG_I0] = ksig->sig; in setup_frame() 297 regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_frame() 301 if (ksig->ka.ka_restorer) in setup_frame() 302 regs->u_regs[UREG_I7] = (unsigned long)ksig->ka.ka_restorer; in setup_frame() 320 static int setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs, in setup_rt_frame() argument 337 get_sigframe(ksig, regs, sigframe_size); in setup_rt_frame() [all …]
|
D | signal32.c | 260 static void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long framesiz… in get_sigframe() argument 275 sp = sigsp(sp, ksig) - framesize; in get_sigframe() 352 static int setup_frame32(struct ksignal *ksig, struct pt_regs *regs, in setup_frame32() argument 375 get_sigframe(ksig, regs, sigframe_size); in setup_frame32() 382 force_sigsegv(ksig->sig); in setup_frame32() 458 regs->u_regs[UREG_I0] = ksig->sig; in setup_frame32() 463 regs->tpc = (unsigned long) ksig->ka.sa.sa_handler; in setup_frame32() 471 if (ksig->ka.ka_restorer) { in setup_frame32() 472 regs->u_regs[UREG_I7] = (unsigned long)ksig->ka.ka_restorer; in setup_frame32() 487 static int setup_rt_frame32(struct ksignal *ksig, struct pt_regs *regs, in setup_rt_frame32() argument [all …]
|
/linux-6.6.21/arch/microblaze/kernel/ |
D | signal.c | 146 get_sigframe(struct ksignal *ksig, struct pt_regs *regs, size_t frame_size) in get_sigframe() argument 149 unsigned long sp = sigsp(regs->r1, ksig); in get_sigframe() 154 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument 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() 220 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 260 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument 266 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal() [all …]
|
/linux-6.6.21/arch/hexagon/kernel/ |
D | signal.c | 27 static void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, in get_sigframe() argument 30 unsigned long sp = sigsp(regs->r29, ksig); in get_sigframe() 95 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument 102 frame = get_sigframe(ksig, regs, sizeof(struct rt_sigframe)); in setup_rt_frame() 107 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in setup_rt_frame() 124 | (unsigned long long)ksig->sig; in setup_rt_frame() 128 pt_set_elr(regs, (unsigned long)ksig->ka.sa.sa_handler); in setup_rt_frame() 136 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument 153 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal() 173 ret = setup_rt_frame(ksig, sigmask_to_save(), regs); in handle_signal() [all …]
|
/linux-6.6.21/arch/nios2/kernel/ |
D | signal.c | 166 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument 176 usp = sigsp(usp, ksig); in get_sigframe() 182 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument 188 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame() 190 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame() 191 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame() 209 regs->r4 = (unsigned long) ksig->sig; in setup_rt_frame() 212 regs->ea = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame() 216 force_sigsegv(ksig->sig); in setup_rt_frame() 223 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument [all …]
|
/linux-6.6.21/arch/riscv/kernel/ |
D | signal.c | 294 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument 309 sp = sigsp(sp, ksig) - framesize; in get_sigframe() 317 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument 325 frame = get_sigframe(ksig, regs, frame_size); in setup_rt_frame() 329 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame() 367 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 369 regs->a0 = ksig->sig; /* a0: signal number */ in setup_rt_frame() 375 current->comm, task_pid_nr(current), ksig->sig, in setup_rt_frame() 382 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument 399 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal() [all …]
|
D | compat_signal.c | 176 static inline void __user *compat_get_sigframe(struct ksignal *ksig, in compat_get_sigframe() argument 191 sp = sigsp(sp, ksig) - framesize; in compat_get_sigframe() 199 int compat_setup_rt_frame(struct ksignal *ksig, sigset_t *set, in compat_setup_rt_frame() argument 205 frame = compat_get_sigframe(ksig, regs, sizeof(*frame)); in compat_setup_rt_frame() 209 err |= copy_siginfo_to_user32(&frame->info, &ksig->info); in compat_setup_rt_frame() 230 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in compat_setup_rt_frame() 232 regs->a0 = ksig->sig; /* a0: signal number */ in compat_setup_rt_frame() 238 current->comm, task_pid_nr(current), ksig->sig, in compat_setup_rt_frame()
|
/linux-6.6.21/arch/arc/kernel/ |
D | signal.c | 248 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument 252 unsigned long sp = sigsp(regs->sp, ksig); in get_sigframe() 270 setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) in setup_rt_frame() argument 276 sf = get_sigframe(ksig, regs, sizeof(struct rt_sigframe)); in setup_rt_frame() 295 if (unlikely(ksig->ka.sa.sa_flags & SA_SIGINFO)) { in setup_rt_frame() 296 err |= copy_siginfo_to_user(&sf->info, &ksig->info); in setup_rt_frame() 317 regs->r0 = ksig->sig; in setup_rt_frame() 320 regs->ret = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 326 if(!(ksig->ka.sa.sa_flags & SA_RESTORER)) in setup_rt_frame() 329 regs->blink = (unsigned long)ksig->ka.sa.sa_restorer; in setup_rt_frame() [all …]
|
/linux-6.6.21/arch/s390/kernel/ |
D | signal.c | 365 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument 384 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_rt_frame() 394 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_rt_frame() 395 restorer = (unsigned long) ksig->ka.sa.sa_restorer; in setup_rt_frame() 400 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in setup_rt_frame() 422 regs->psw.addr = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame() 424 regs->gprs[2] = ksig->sig; in setup_rt_frame() 431 static void handle_signal(struct ksignal *ksig, sigset_t *oldset, in handle_signal() argument 437 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal() 438 ret = setup_rt_frame(ksig, oldset, regs); in handle_signal() [all …]
|
D | compat_signal.c | 254 static int setup_frame32(struct ksignal *ksig, sigset_t *set, in setup_frame32() argument 257 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() 317 regs->psw.addr = (__force __u64) ksig->ka.sa.sa_handler; in setup_frame32() 335 static int setup_rt_frame32(struct ksignal *ksig, sigset_t *set, in setup_rt_frame32() argument 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() [all …]
|
/linux-6.6.21/arch/x86/include/asm/ |
D | sighandling.h | 19 get_sigframe(struct ksignal *ksig, struct pt_regs *regs, size_t frame_size, 22 int ia32_setup_frame(struct ksignal *ksig, struct pt_regs *regs); 23 int ia32_setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs); 24 int x64_setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs); 25 int x32_setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs);
|
/linux-6.6.21/arch/ia64/kernel/ |
D | signal.c | 226 setup_frame(struct ksignal *ksig, sigset_t *set, struct sigscratch *scr) in setup_frame() argument 235 if (ksig->ka.sa.sa_flags & SA_ONSTACK) { in setup_frame() 259 force_sigsegv(ksig->sig); in setup_frame() 267 force_sigsegv(ksig->sig); in setup_frame() 271 err = __put_user(ksig->sig, &frame->arg0); in setup_frame() 276 err |= __put_user(ksig->ka.sa.sa_handler, &frame->handler); in setup_frame() 278 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_frame() 284 force_sigsegv(ksig->sig); in setup_frame() 311 current->comm, current->pid, ksig->sig, scr->pt.r12, frame->sc.sc_ip, frame->handler); in setup_frame() 317 handle_signal (struct ksignal *ksig, struct sigscratch *scr) in handle_signal() argument [all …]
|
/linux-6.6.21/arch/powerpc/kernel/ |
D | signal.c | 164 void __user *get_sigframe(struct ksignal *ksig, struct task_struct *tsk, in get_sigframe() argument 175 oldsp = sigsp(oldsp, ksig); in get_sigframe() 249 struct ksignal ksig = { .sig = 0 }; in do_signal() local 254 get_signal(&ksig); in do_signal() 257 check_syscall_restart(tsk->thread.regs, &ksig.ka, ksig.sig > 0); in do_signal() 259 if (ksig.sig <= 0) { in do_signal() 283 rseq_signal_deliver(&ksig, tsk->thread.regs); in do_signal() 286 if (ksig.ka.sa.sa_flags & SA_SIGINFO) in do_signal() 287 ret = handle_rt_signal32(&ksig, oldset, tsk); in do_signal() 289 ret = handle_signal32(&ksig, oldset, tsk); in do_signal() [all …]
|
/linux-6.6.21/arch/alpha/kernel/ |
D | signal.c | 266 get_sigframe(struct ksignal *ksig, unsigned long sp, size_t frame_size) in get_sigframe() argument 268 return (void __user *)((sigsp(sp, ksig) - frame_size) & -32ul); in get_sigframe() 329 setup_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) in setup_frame() argument 335 frame = get_sigframe(ksig, oldsp, sizeof(*frame)); in setup_frame() 345 r26 = (unsigned long) ksig->ka.ka_restorer; in setup_frame() 360 regs->r27 = regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_frame() 361 regs->r16 = ksig->sig; /* a0: signal number */ in setup_frame() 374 setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) in setup_rt_frame() argument 380 frame = get_sigframe(ksig, oldsp, sizeof(*frame)); in setup_rt_frame() 384 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame() [all …]
|
/linux-6.6.21/arch/xtensa/kernel/ |
D | signal.c | 342 static int setup_frame(struct ksignal *ksig, sigset_t *set, in setup_frame() argument 346 int err = 0, sig = ksig->sig; in setup_frame() 348 unsigned long handler = (unsigned long)ksig->ka.sa.sa_handler; in setup_frame() 364 if ((ksig->ka.sa.sa_flags & SA_ONSTACK) != 0 && sas_ss_flags(sp) == 0) { in setup_frame() 377 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_frame() 378 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_frame() 389 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame() 392 (unsigned long __user *)ksig->ka.sa.sa_restorer; in setup_frame() 396 ra = (unsigned long)ksig->ka.sa.sa_restorer; in setup_frame() 455 struct ksignal ksig; in do_signal() local [all …]
|
/linux-6.6.21/arch/parisc/kernel/ |
D | signal.c | 213 setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs, in setup_rt_frame() argument 234 frame = get_sigframe(&ksig->ka, usp, sigframe_size); in setup_rt_frame() 236 DBG(1, "%s: frame %p info %p\n", __func__, frame, &ksig->info); in setup_rt_frame() 248 err |= copy_siginfo_to_user32(&compat_frame->info, &ksig->info); in setup_rt_frame() 261 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame() 284 haddr = A(ksig->ka.sa.sa_handler); in setup_rt_frame() 351 regs->gr[26] = ksig->sig; /* signal number */ in setup_rt_frame() 383 handle_signal(struct ksignal *ksig, struct pt_regs *regs, long in_syscall) in handle_signal() argument 389 __func__, ksig->sig, &ksig->ka, &ksig->info, oldset, regs); in handle_signal() 392 ret = setup_rt_frame(ksig, oldset, regs, in_syscall); in handle_signal() [all …]
|
/linux-6.6.21/arch/x86/um/ |
D | signal.c | 361 int setup_signal_stack_sc(unsigned long stack_top, struct ksignal *ksig, in setup_signal_stack_sc() argument 366 int err = 0, sig = ksig->sig; in setup_signal_stack_sc() 375 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_sc() 376 restorer = ksig->ka.sa.sa_restorer; in setup_signal_stack_sc() 400 PT_REGS_IP(regs) = (unsigned long) ksig->ka.sa.sa_handler; in setup_signal_stack_sc() 407 int setup_signal_stack_si(unsigned long stack_top, struct ksignal *ksig, in setup_signal_stack_si() argument 412 int err = 0, sig = ksig->sig; in setup_signal_stack_si() 420 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_si() 421 restorer = ksig->ka.sa.sa_restorer; in setup_signal_stack_si() 427 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_signal_stack_si() [all …]
|
/linux-6.6.21/arch/mips/kernel/ |
D | signal.c | 553 void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, in get_sigframe() argument 578 sp = sigsp(sp, ksig); in get_sigframe() 713 static int setup_frame(void *sig_return, struct ksignal *ksig, in setup_frame() argument 719 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_frame() 738 regs->regs[ 4] = ksig->sig; in setup_frame() 743 regs->cp0_epc = regs->regs[25] = (unsigned long) ksig->ka.sa.sa_handler; in setup_frame() 752 static int setup_rt_frame(void *sig_return, struct ksignal *ksig, in setup_rt_frame() argument 757 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame() 762 if (copy_siginfo_to_user(&frame->rs_info, &ksig->info)) in setup_rt_frame() 787 regs->regs[ 4] = ksig->sig; in setup_rt_frame() [all …]
|