Home
last modified time | relevance | path

Searched refs:ksig (Results 1 - 25 of 104) sorted by relevance

12345

/kernel/linux/linux-6.6/arch/x86/kernel/
H A Dsignal.c45 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, struc argument
227 handle_signal(struct ksignal *ksig, struct pt_regs *regs) handle_signal() argument
307 struct ksignal ksig; arch_do_signal_or_restart() local
[all...]
/kernel/linux/linux-5.10/arch/x86/kernel/
H A Dsignal.c321 __setup_frame(int sig, struct ksignal *ksig, sigset_t *set, in __setup_frame() argument
328 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fp); in __setup_frame()
341 if (ksig->ka.sa.sa_flags & SA_RESTORER) in __setup_frame()
342 restorer = ksig->ka.sa.sa_restorer; in __setup_frame()
359 regs->ip = (unsigned long)ksig->ka.sa.sa_handler; in __setup_frame()
376 static int __setup_rt_frame(int sig, struct ksignal *ksig, in __setup_rt_frame() argument
383 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fp); in __setup_rt_frame()
403 if (ksig->ka.sa.sa_flags & SA_RESTORER) in __setup_rt_frame()
404 restorer = ksig->ka.sa.sa_restorer; in __setup_rt_frame()
419 if (copy_siginfo_to_user(&frame->info, &ksig in __setup_rt_frame()
455 __setup_rt_frame(int sig, struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) __setup_rt_frame() argument
557 x32_setup_rt_frame(struct ksignal *ksig, compat_sigset_t *set, struct pt_regs *regs) x32_setup_rt_frame() argument
682 is_ia32_compat_frame(struct ksignal *ksig) is_ia32_compat_frame() argument
688 is_ia32_frame(struct ksignal *ksig) is_ia32_frame() argument
693 is_x32_frame(struct ksignal *ksig) is_x32_frame() argument
700 setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) setup_rt_frame() argument
723 handle_signal(struct ksignal *ksig, struct pt_regs *regs) handle_signal() argument
803 struct ksignal ksig; arch_do_signal_or_restart() local
[all...]
/kernel/linux/linux-5.10/arch/openrisc/kernel/
H A Dsignal.c131 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument
138 sp = sigsp(sp, ksig); in get_sigframe()
151 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument
158 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
164 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
165 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
193 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; /* what we enter NOW */ in setup_rt_frame()
195 regs->gpr[3] = (unsigned long)ksig->sig; /* arg 1: signo */ in setup_rt_frame()
206 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
210 ret = setup_rt_frame(ksig, sigmask_to_sav in handle_signal()
229 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/csky/kernel/
H A Dsignal.c113 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
143 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
147 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
182 rseq_signal_deliver(ksig, regs); in handle_signal()
197 if (!(ksig in handle_signal()
217 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/openrisc/kernel/
H A Dsignal.c136 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_sav in handle_signal()
234 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/csky/kernel/
H A Dsignal.c113 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, oldse in handle_signal()
215 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/um/kernel/
H A Dsignal.c49 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, reg in do_signal()
[all...]
/kernel/linux/linux-6.6/arch/um/kernel/
H A Dsignal.c49 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, reg in do_signal()
[all...]
/kernel/linux/linux-5.10/arch/sh/kernel/
H A Dsignal_32.c269 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 in setup_rt_frame()
436 handle_signal(struct ksignal *ksig, struct pt_regs *regs, unsigned int save_r0) handle_signal() argument
461 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/sparc/kernel/
H A Dsignal_32.c200 static inline void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long framesize) 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, reg in setup_rt_frame()
418 handle_signal(struct ksignal *ksig, struct pt_regs *regs) handle_signal() argument
457 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/sh/kernel/
H A Dsignal_32.c269 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 in setup_rt_frame()
436 handle_signal(struct ksignal *ksig, struct pt_regs *regs, unsigned int save_r0) handle_signal() argument
461 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/sparc/kernel/
H A Dsignal_32.c200 static inline void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, unsigned long framesize) 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, reg in setup_rt_frame()
418 handle_signal(struct ksignal *ksig, struct pt_regs *regs) handle_signal() argument
457 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/h8300/kernel/
H A Dsignal.c153 get_sigframe(struct ksignal *ksig, struct pt_regs *regs, size_t frame_size) in get_sigframe() argument
155 return (void __user *)((sigsp(rdusp(), ksig) - frame_size) & -8UL); in get_sigframe()
158 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument
165 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
170 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
171 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
184 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_rt_frame()
185 ret = (unsigned char *)(ksig->ka.sa.sa_restorer); in setup_rt_frame()
200 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
201 regs->er0 = ksig in setup_rt_frame()
243 handle_signal(struct ksignal *ksig, struct pt_regs *regs) handle_signal() argument
263 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/arm/kernel/
H A Dsignal.c342 get_sigframe(struct ksignal *ksig, struct pt_regs *regs, int framesize) in get_sigframe() argument
344 unsigned long sp = sigsp(regs->ARM_sp, ksig); in get_sigframe()
362 setup_return(struct pt_regs *regs, struct ksignal *ksig, in setup_return() argument
365 unsigned long handler = (unsigned long)ksig->ka.sa.sa_handler; in setup_return()
386 if (ksig->ka.sa.sa_flags & SA_THIRTYTWO) in setup_return()
417 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_return()
418 retcode = (unsigned long)ksig->ka.sa.sa_restorer; in setup_return()
428 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_return()
439 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_return()
476 regs->ARM_r0 = ksig in setup_return()
488 setup_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) setup_frame() argument
509 setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) setup_rt_frame() argument
543 handle_signal(struct ksignal *ksig, struct pt_regs *regs) handle_signal() argument
581 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/arm/kernel/
H A Dsignal.c301 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 in setup_return()
447 setup_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) setup_frame() argument
468 setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) setup_rt_frame() argument
502 handle_signal(struct ksignal *ksig, struct pt_regs *regs) handle_signal() argument
540 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/microblaze/kernel/
H A Dsignal.c146 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()
165 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
170 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
171 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
226 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
266 handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
272 ret = setup_rt_frame(ksig, oldse in handle_signal()
288 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/riscv/kernel/
H A Dsignal.c154 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument
169 sp = sigsp(sp, ksig) - framesize; in get_sigframe()
177 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument
184 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
188 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
226 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
228 regs->a0 = ksig->sig; /* a0: signal number */ in setup_rt_frame()
234 current->comm, task_pid_nr(current), ksig->sig, in setup_rt_frame()
241 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
258 if (!(ksig in handle_signal()
278 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/microblaze/kernel/
H A Dsignal.c146 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, oldse in handle_signal()
282 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/x86/include/asm/
H A Dsighandling.h19 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);
/kernel/linux/linux-5.10/arch/hexagon/kernel/
H A Dsignal.c28 static void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs, in get_sigframe() argument
31 unsigned long sp = sigsp(regs->r29, ksig); in get_sigframe()
96 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument
103 frame = get_sigframe(ksig, regs, sizeof(struct rt_sigframe)); in setup_rt_frame()
108 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in setup_rt_frame()
125 | (unsigned long long)ksig->sig; in setup_rt_frame()
129 pt_set_elr(regs, (unsigned long)ksig->ka.sa.sa_handler); in setup_rt_frame()
137 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) in handle_signal() argument
154 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
174 ret = setup_rt_frame(ksig, sigmask_to_sav in handle_signal()
184 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/c6x/kernel/
H A Dsignal.c128 static inline void __user *get_sigframe(struct ksignal *ksig, in get_sigframe() argument
132 unsigned long sp = sigsp(regs->sp, ksig); in get_sigframe()
141 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument
148 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
155 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
193 regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame()
196 regs->a4 = ksig->sig; in setup_rt_frame()
236 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs, in handle_signal() argument
251 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
264 ret = setup_rt_frame(ksig, sigmask_to_sav in handle_signal()
273 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/hexagon/kernel/
H A Dsignal.c27 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_sav in handle_signal()
183 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-5.10/arch/s390/kernel/
H A Dsignal.c369 static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, in setup_rt_frame() argument
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()
408 if (copy_siginfo_to_user(&frame->info, &ksig->info)) in setup_rt_frame()
430 regs->psw.addr = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame()
432 regs->gprs[2] = ksig->sig; in setup_rt_frame()
439 static void handle_signal(struct ksignal *ksig, sigset_t *oldset, in handle_signal() argument
445 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal()
446 ret = setup_rt_frame(ksig, oldse in handle_signal()
464 struct ksignal ksig; do_signal() local
[all...]
/kernel/linux/linux-6.6/arch/s390/kernel/
H A Dsignal.c365 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, oldse in handle_signal()
457 struct ksignal ksig; arch_do_signal_or_restart() local
[all...]
/kernel/linux/linux-5.10/arch/powerpc/kernel/
H A Dsignal.c177 void __user *get_sigframe(struct ksignal *ksig, unsigned long sp, in get_sigframe() argument
184 oldsp = sigsp(oldsp, ksig); in get_sigframe()
262 struct ksignal ksig = { .sig = 0 }; in do_signal() local
267 get_signal(&ksig); in do_signal()
270 check_syscall_restart(tsk->thread.regs, &ksig.ka, ksig.sig > 0); in do_signal()
272 if (ksig.sig <= 0) { in do_signal()
296 rseq_signal_deliver(&ksig, tsk->thread.regs); in do_signal()
299 if (ksig.ka.sa.sa_flags & SA_SIGINFO) in do_signal()
300 ret = handle_rt_signal32(&ksig, oldse in do_signal()
[all...]

Completed in 14 milliseconds

12345