/Linux-v4.19/arch/x86/kernel/ |
D | signal.c | 241 get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size, in get_sigframe() argument 256 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe() 262 !(ka->sa.sa_flags & SA_RESTORER) && in get_sigframe() 263 ka->sa.sa_restorer) { in get_sigframe() 265 sp = (unsigned long) ka->sa.sa_restorer; in get_sigframe() 323 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in __setup_frame() 345 if (ksig->ka.sa.sa_flags & SA_RESTORER) in __setup_frame() 346 restorer = ksig->ka.sa.sa_restorer; in __setup_frame() 365 regs->ip = (unsigned long)ksig->ka.sa.sa_handler; in __setup_frame() 386 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in __setup_rt_frame() [all …]
|
/Linux-v4.19/arch/mips/include/asm/ |
D | signal.h | 17 #define sig_uses_siginfo(ka, abi) \ argument 19 ((ka)->sa.sa_flags & SA_SIGINFO)) 21 #define sig_uses_siginfo(ka, abi) \ argument 24 ((ka)->sa.sa_flags & SA_SIGINFO) : 1) )
|
/Linux-v4.19/arch/h8300/kernel/ |
D | signal.c | 171 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame() 185 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_rt_frame() 186 ret = (unsigned char *)(ksig->ka.sa.sa_restorer); in setup_rt_frame() 201 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 211 handle_restart(struct pt_regs *regs, struct k_sigaction *ka) in handle_restart() argument 215 if (!ka) in handle_restart() 220 if (!ka) { in handle_restart() 227 if (!(ka->sa.sa_flags & SA_RESTART)) { in handle_restart() 250 handle_restart(regs, &ksig->ka); in handle_signal()
|
/Linux-v4.19/arch/s390/kernel/ |
D | signal.c | 267 get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) in get_sigframe() argument 279 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe() 287 static int setup_frame(int sig, struct k_sigaction *ka, in setup_frame() argument 304 frame = get_sigframe(ka, regs, frame_size); in setup_frame() 335 if (ka->sa.sa_flags & SA_RESTORER) { in setup_frame() 336 restorer = (unsigned long) ka->sa.sa_restorer; in setup_frame() 352 regs->psw.addr = (unsigned long) ka->sa.sa_handler; in setup_frame() 388 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_rt_frame() 398 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame() 399 restorer = (unsigned long) ksig->ka.sa.sa_restorer; in setup_rt_frame() [all …]
|
D | compat_signal.c | 233 get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) in get_sigframe() argument 245 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe() 270 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_frame32() 302 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame32() 304 ksig->ka.sa.sa_restorer | PSW32_ADDR_AMODE; in setup_frame32() 320 regs->psw.addr = (__force __u64) ksig->ka.sa.sa_handler; in setup_frame32() 359 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_rt_frame32() 369 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame32() 371 ksig->ka.sa.sa_restorer | PSW32_ADDR_AMODE; in setup_rt_frame32() 402 regs->psw.addr = (__u64 __force) ksig->ka.sa.sa_handler; in setup_rt_frame32() [all …]
|
/Linux-v4.19/arch/sh/kernel/ |
D | signal_32.c | 252 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument 254 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe() 273 frame = get_sigframe(&ksig->ka, regs->regs[15], sizeof(*frame)); in setup_frame() 286 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame() 287 regs->pr = (unsigned long) ksig->ka.sa.sa_restorer; in setup_frame() 317 (struct fdpic_func_descriptor __user *)ksig->ka.sa.sa_handler; in setup_frame() 322 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_frame() 339 frame = get_sigframe(&ksig->ka, regs->regs[15], sizeof(*frame)); in setup_rt_frame() 356 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame() 357 regs->pr = (unsigned long) ksig->ka.sa.sa_restorer; in setup_rt_frame() [all …]
|
D | signal_64.c | 96 handle_syscall_restart(regs, &ksig.ka.sa); in do_signal() 366 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument 368 if ((ka->sa.sa_flags & SA_ONSTACK) != 0 && ! sas_ss_flags(sp)) in get_sigframe() 383 frame = get_sigframe(&ksig->ka, regs->regs[REG_SP], sizeof(*frame)); in setup_frame() 404 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame() 409 ksig->ka->sa.sa_restorer | 0x1); in setup_frame() 452 regs->pc = neff_sign_extend((unsigned long)ksig->ka.sa.sa_handler); in setup_frame() 469 frame = get_sigframe(&ksig->ka, regs->regs[REG_SP], sizeof(*frame)); in setup_rt_frame() 496 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame() 501 ksig->ka.sa.sa_restorer | 0x1); in setup_rt_frame() [all …]
|
/Linux-v4.19/include/trace/events/ |
D | signal.h | 99 TP_PROTO(int sig, struct siginfo *info, struct k_sigaction *ka), 101 TP_ARGS(sig, info, ka), 114 __entry->sa_handler = (unsigned long)ka->sa.sa_handler; 115 __entry->sa_flags = ka->sa.sa_flags;
|
/Linux-v4.19/arch/x86/ia32/ |
D | ia32_signal.c | 226 if (ksig->ka.sa.sa_flags & SA_ONSTACK) in get_sigframe() 230 !(ksig->ka.sa.sa_flags & SA_RESTORER) && in get_sigframe() 231 ksig->ka.sa.sa_restorer) in get_sigframe() 232 sp = (unsigned long) ksig->ka.sa.sa_restorer; in get_sigframe() 287 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in ia32_setup_frame() 288 restorer = ksig->ka.sa.sa_restorer; in ia32_setup_frame() 313 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in ia32_setup_frame() 368 if (ksig->ka.sa.sa_flags & SA_RESTORER) in ia32_setup_rt_frame() 369 restorer = ksig->ka.sa.sa_restorer; in ia32_setup_rt_frame() 392 regs->ip = (unsigned long) ksig->ka.sa.sa_handler; in ia32_setup_rt_frame()
|
/Linux-v4.19/arch/powerpc/kernel/ |
D | signal.c | 53 static void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka, in check_syscall_restart() argument 80 restart = !has_handler || (ka->sa.sa_flags & SA_RESTART) != 0; in check_syscall_restart() 116 check_syscall_restart(tsk->thread.regs, &ksig.ka, ksig.sig > 0); in do_signal() 140 if (ksig.ka.sa.sa_flags & SA_SIGINFO) in do_signal()
|
/Linux-v4.19/arch/arc/kernel/ |
D | signal.c | 254 if (unlikely(ksig->ka.sa.sa_flags & SA_SIGINFO)) { in setup_rt_frame() 279 regs->ret = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 285 if(!(ksig->ka.sa.sa_flags & SA_RESTORER)) in setup_rt_frame() 288 regs->blink = (unsigned long)ksig->ka.sa.sa_restorer; in setup_rt_frame() 303 static void arc_restart_syscall(struct k_sigaction *ka, struct pt_regs *regs) in arc_restart_syscall() argument 323 if (!(ka->sa.sa_flags & SA_RESTART)) { in arc_restart_syscall() 370 arc_restart_syscall(&ksig.ka, regs); in do_signal()
|
/Linux-v4.19/arch/parisc/kernel/ |
D | signal.c | 177 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument 183 (unsigned long)ka, sp, frame_size); in get_sigframe() 187 if ((ka->sa.sa_flags & SA_ONSTACK) != 0 && ! sas_ss_flags(sp)) in get_sigframe() 243 frame = get_sigframe(&ksig->ka, usp, sizeof(*frame)); in setup_rt_frame() 316 haddr = A(ksig->ka.sa.sa_handler); in setup_rt_frame() 426 ksig->sig, ksig->ka, ksig->info, oldset, regs); in handle_signal() 488 syscall_restart(struct pt_regs *regs, struct k_sigaction *ka) in syscall_restart() argument 502 if (!(ka->sa.sa_flags & SA_RESTART)) { in syscall_restart() 590 syscall_restart(regs, &ksig.ka); in do_signal()
|
/Linux-v4.19/arch/um/kernel/ |
D | signal.c | 41 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal() 54 if ((ksig->ka.sa.sa_flags & SA_ONSTACK) && (sas_ss_flags(sp) == 0)) in handle_signal() 58 if (!(ksig->ka.sa.sa_flags & SA_SIGINFO)) in handle_signal()
|
/Linux-v4.19/arch/unicore32/kernel/ |
D | signal.c | 188 static inline void __user *get_sigframe(struct k_sigaction *ka, in get_sigframe() argument 197 if ((ka->sa.sa_flags & SA_ONSTACK) && !sas_ss_flags(sp)) in get_sigframe() 214 static int setup_return(struct pt_regs *regs, struct k_sigaction *ka, in setup_return() argument 217 unsigned long handler = (unsigned long)ka->sa.sa_handler; in setup_return() 223 if (ka->sa.sa_flags & SA_SIGINFO) in setup_return() 244 struct sigframe __user *frame = get_sigframe(&ksig->ka, regs, sizeof(*frame)); in setup_frame() 257 err |= setup_return(regs, &ksig->ka, frame->retcode, frame, in setup_frame() 267 get_sigframe(&ksig->ka, regs, sizeof(*frame)); in setup_rt_frame() 280 err |= setup_return(regs, &ksig->ka, frame->sig.retcode, frame, in setup_rt_frame() 322 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal() [all …]
|
/Linux-v4.19/arch/x86/um/ |
D | signal.c | 374 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_sc() 375 restorer = ksig->ka.sa.sa_restorer; in setup_signal_stack_sc() 399 PT_REGS_IP(regs) = (unsigned long) ksig->ka.sa.sa_handler; in setup_signal_stack_sc() 419 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_si() 420 restorer = ksig->ka.sa.sa_restorer; in setup_signal_stack_si() 445 PT_REGS_IP(regs) = (unsigned long) ksig->ka.sa.sa_handler; in setup_signal_stack_si() 503 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_signal_stack_si() 532 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_si() 533 err |= __put_user((void *)ksig->ka.sa.sa_restorer, in setup_signal_stack_si() 553 PT_REGS_IP(regs) = (unsigned long) ksig->ka.sa.sa_handler; in setup_signal_stack_si()
|
/Linux-v4.19/arch/xtensa/kernel/ |
D | signal.c | 342 if ((ksig->ka.sa.sa_flags & SA_ONSTACK) != 0 && sas_ss_flags(sp) == 0) { in setup_frame() 355 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_frame() 367 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame() 368 ra = (unsigned long)ksig->ka.sa.sa_restorer; in setup_frame() 388 start_thread(regs, (unsigned long) ksig->ka.sa.sa_handler, in setup_frame() 437 if (!(ksig.ka.sa.sa_flags & SA_RESTART)) { in do_signal()
|
/Linux-v4.19/arch/sparc/kernel/ |
D | signal_32.c | 299 regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_frame() 303 if (ksig->ka.ka_restorer) in setup_frame() 304 regs->u_regs[UREG_I7] = (unsigned long)ksig->ka.ka_restorer; in setup_frame() 397 regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame() 400 if (ksig->ka.ka_restorer) in setup_rt_frame() 401 regs->u_regs[UREG_I7] = (unsigned long)ksig->ka.ka_restorer; in setup_rt_frame() 425 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal() 498 syscall_restart(orig_i0, regs, &ksig.ka.sa); in do_signal()
|
D | signal32.c | 455 regs->tpc = (unsigned long) ksig->ka.sa.sa_handler; in setup_frame32() 463 if (ksig->ka.ka_restorer) { in setup_frame32() 464 regs->u_regs[UREG_I7] = (unsigned long)ksig->ka.ka_restorer; in setup_frame32() 583 regs->tpc = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame32() 591 if (ksig->ka.ka_restorer) in setup_rt_frame32() 592 regs->u_regs[UREG_I7] = (unsigned long)ksig->ka.ka_restorer; in setup_rt_frame32() 617 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal32() 665 syscall_restart32(orig_i0, regs, &ksig.ka.sa); in do_signal32()
|
/Linux-v4.19/arch/microblaze/kernel/ |
D | signal.c | 172 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame() 230 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 242 handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) in handle_restart() argument 252 if (has_handler && !(ka->sa.sa_flags & SA_RESTART)) { in handle_restart() 303 handle_restart(regs, &ksig.ka, 1); in do_signal()
|
/Linux-v4.19/arch/arm/kernel/ |
D | signal.c | 360 unsigned long handler = (unsigned long)ksig->ka.sa.sa_handler; in setup_return() 381 if (ksig->ka.sa.sa_flags & SA_THIRTYTWO) in setup_return() 412 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_return() 413 retcode = (unsigned long)ksig->ka.sa.sa_restorer; in setup_return() 423 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_return() 434 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_return() 552 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal() 620 && !(ksig.ka.sa.sa_flags & SA_RESTART))) { in do_signal()
|
/Linux-v4.19/arch/alpha/kernel/ |
D | signal.c | 344 r26 = (unsigned long) ksig->ka.ka_restorer; in setup_frame() 359 regs->r27 = regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_frame() 398 r26 = (unsigned long) ksig->ka.ka_restorer; in setup_rt_frame() 413 regs->r27 = regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame() 437 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal() 447 struct pt_regs *regs, struct k_sigaction *ka) in syscall_restart() argument 451 if (!(ka->sa.sa_flags & SA_RESTART)) { in syscall_restart() 494 syscall_restart(r0, r19, regs, &ksig.ka); in do_signal()
|
/Linux-v4.19/arch/arm64/kernel/ |
D | signal32.c | 374 static void compat_setup_return(struct pt_regs *regs, struct k_sigaction *ka, in compat_setup_return() argument 378 compat_ulong_t handler = ptr_to_compat(ka->sa.sa_handler); in compat_setup_return() 397 if (ka->sa.sa_flags & SA_RESTORER) { in compat_setup_return() 398 retcode = ptr_to_compat(ka->sa.sa_restorer); in compat_setup_return() 403 if (ka->sa.sa_flags & SA_SIGINFO) in compat_setup_return() 485 compat_setup_return(regs, &ksig->ka, frame->sig.retcode, frame, usig); in compat_setup_rt_frame() 508 compat_setup_return(regs, &ksig->ka, frame->retcode, frame, usig); in compat_setup_frame()
|
D | signal.c | 739 static void setup_return(struct pt_regs *regs, struct k_sigaction *ka, in setup_return() argument 747 regs->pc = (unsigned long)ka->sa.sa_handler; in setup_return() 749 if (ka->sa.sa_flags & SA_RESTORER) in setup_return() 750 sigtramp = ka->sa.sa_restorer; in setup_return() 777 setup_return(regs, &ksig->ka, &user, usig); in setup_rt_frame() 778 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_rt_frame() 812 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal() 893 !(ksig.ka.sa.sa_flags & SA_RESTART)))) { in do_signal()
|
/Linux-v4.19/arch/openrisc/kernel/ |
D | signal.c | 168 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame() 197 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; /* what we enter NOW */ in setup_rt_frame() 273 && !(ksig.ka.sa.sa_flags & SA_RESTART))) { in do_signal()
|
/Linux-v4.19/arch/c6x/kernel/ |
D | signal.c | 195 regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame() 212 handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) in handle_restart() argument 222 if (has_handler && !(ka->sa.sa_flags & SA_RESTART)) { in handle_restart() 253 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
|