Home
last modified time | relevance | path

Searched refs:ka (Results 1 – 25 of 47) sorted by relevance

12

/arch/powerpc/kernel/
Dsignal.c31 void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, in get_sigframe() argument
40 if ((ka->sa.sa_flags & SA_ONSTACK) && in get_sigframe()
64 static void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka, in check_syscall_restart() argument
91 restart = !has_handler || (ka->sa.sa_flags & SA_RESTART) != 0; in check_syscall_restart()
120 struct k_sigaction ka; in do_signal() local
129 signr = get_signal_to_deliver(&info, &ka, regs, NULL); in do_signal()
132 check_syscall_restart(regs, &ka, signr > 0); in do_signal()
158 if (ka.sa.sa_flags & SA_SIGINFO) in do_signal()
159 ret = handle_rt_signal32(signr, &ka, &info, oldset, in do_signal()
162 ret = handle_signal32(signr, &ka, &info, oldset, in do_signal()
[all …]
Dsignal.h17 extern void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
21 extern int handle_signal32(unsigned long sig, struct k_sigaction *ka,
25 extern int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
42 extern int handle_rt_signal64(int signr, struct k_sigaction *ka,
48 static inline int handle_rt_signal64(int signr, struct k_sigaction *ka, in handle_rt_signal64() argument
/arch/cris/arch-v32/kernel/
Dsignal.c272 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()
298 setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, in setup_frame() argument
306 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_frame()
328 if (ka->sa.sa_flags & SA_RESTORER) { in setup_frame()
329 return_ip = (unsigned long)ka->sa.sa_restorer; in setup_frame()
356 regs->erp = (unsigned long) ka->sa.sa_handler; in setup_frame()
367 ka->sa.sa_handler = SIG_DFL; in setup_frame()
374 setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
382 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
[all …]
/arch/cris/arch-v10/kernel/
Dsignal.c277 get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size) in get_sigframe() argument
282 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
302 static int setup_frame(int sig, struct k_sigaction *ka, in setup_frame() argument
309 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_frame()
327 if (ka->sa.sa_flags & SA_RESTORER) { in setup_frame()
328 return_ip = (unsigned long)ka->sa.sa_restorer; in setup_frame()
343 regs->irp = (unsigned long) ka->sa.sa_handler; /* what we enter NOW */ in setup_frame()
358 static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
365 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
388 if (ka->sa.sa_flags & SA_RESTORER) { in setup_rt_frame()
[all …]
/arch/x86/kernel/
Dsignal.c201 get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size, in get_sigframe() argument
215 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
222 !(ka->sa.sa_flags & SA_RESTORER) && in get_sigframe()
223 ka->sa.sa_restorer) in get_sigframe()
224 sp = (unsigned long) ka->sa.sa_restorer; in get_sigframe()
277 __setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, in __setup_frame() argument
285 frame = get_sigframe(ka, regs, sizeof(*frame), &fpstate); in __setup_frame()
306 if (ka->sa.sa_flags & SA_RESTORER) in __setup_frame()
307 restorer = ka->sa.sa_restorer; in __setup_frame()
326 regs->ip = (unsigned long)ka->sa.sa_handler; in __setup_frame()
[all …]
/arch/microblaze/kernel/
Dsignal.c161 get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size) in get_sigframe() argument
166 if ((ka->sa.sa_flags & SA_ONSTACK) != 0 && !on_sig_stack(sp)) in get_sigframe()
172 static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
184 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
257 regs->pc = (unsigned long)ka->sa.sa_handler; in setup_rt_frame()
274 ka->sa.sa_handler = SIG_DFL; in setup_rt_frame()
280 handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) in handle_restart() argument
290 if (has_handler && !(ka->sa.sa_flags & SA_RESTART)) { in handle_restart()
316 handle_signal(unsigned long sig, struct k_sigaction *ka, in handle_signal() argument
320 if (ka->sa.sa_flags & SA_SIGINFO) in handle_signal()
[all …]
/arch/frv/kernel/
Dsignal.c229 static inline void __user *get_sigframe(struct k_sigaction *ka, in get_sigframe() argument
238 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
251 static int setup_frame(int sig, struct k_sigaction *ka, sigset_t *set) in setup_frame() argument
258 frame = get_sigframe(ka, sizeof(*frame)); in setup_frame()
283 if (ka->sa.sa_flags & SA_RESTORER) { in setup_frame()
284 if (__put_user(ka->sa.sa_restorer, &frame->pretcode) < 0) in setup_frame()
304 (struct fdpic_func_descriptor __user *) ka->sa.sa_handler; in setup_frame()
311 __frame->pc = (unsigned long) ka->sa.sa_handler; in setup_frame()
341 static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
349 frame = get_sigframe(ka, sizeof(*frame)); in setup_rt_frame()
[all …]
/arch/s390/kernel/
Dsignal.c225 get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) in get_sigframe() argument
237 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
244 !(ka->sa.sa_flags & SA_RESTORER) && in get_sigframe()
245 ka->sa.sa_restorer) { in get_sigframe()
246 sp = (unsigned long) ka->sa.sa_restorer; in get_sigframe()
262 static int setup_frame(int sig, struct k_sigaction *ka, in setup_frame() argument
267 frame = get_sigframe(ka, regs, sizeof(sigframe)); in setup_frame()
284 if (ka->sa.sa_flags & SA_RESTORER) { in setup_frame()
286 ka->sa.sa_restorer | PSW_ADDR_AMODE; in setup_frame()
305 regs->psw.addr = (unsigned long) ka->sa.sa_handler | PSW_ADDR_AMODE; in setup_frame()
[all …]
/arch/avr32/kernel/
Dsignal.c140 get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, int framesize) in get_sigframe() argument
144 if ((ka->sa.sa_flags & SA_ONSTACK) && !sas_ss_flags(sp)) in get_sigframe()
151 setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
157 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
198 if (ka->sa.sa_flags & SA_RESTORER) in setup_rt_frame()
199 regs->lr = (unsigned long)ka->sa.sa_restorer; in setup_rt_frame()
208 regs->pc, ka->sa.sa_handler, regs->lr); in setup_rt_frame()
210 regs->pc = (unsigned long) ka->sa.sa_handler; in setup_rt_frame()
226 handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info, in handle_signal() argument
234 ret = setup_rt_frame(sig, ka, info, oldset, regs); in handle_signal()
[all …]
/arch/openrisc/kernel/
Dsignal.c155 static inline void __user *get_sigframe(struct k_sigaction *ka, in get_sigframe() argument
165 if ((ka->sa.sa_flags & SA_ONSTACK) && !onsigstack) { in get_sigframe()
189 static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
196 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
204 if (ka->sa.sa_flags & SA_SIGINFO) in setup_rt_frame()
238 regs->pc = (unsigned long)ka->sa.sa_handler; /* what we enter NOW */ in setup_rt_frame()
256 siginfo_t *info, struct k_sigaction *ka, in handle_signal() argument
261 ret = setup_rt_frame(sig, ka, info, oldset, regs); in handle_signal()
265 block_sigmask(ka, sig); in handle_signal()
286 struct k_sigaction ka; in do_signal() local
[all …]
/arch/um/kernel/
Dsignal.c26 struct k_sigaction *ka, siginfo_t *info, in handle_signal() argument
45 if (!(ka->sa.sa_flags & SA_RESTART)) { in handle_signal()
58 if ((ka->sa.sa_flags & SA_ONSTACK) && (sas_ss_flags(sp) == 0)) in handle_signal()
62 if (!(ka->sa.sa_flags & SA_SIGINFO)) in handle_signal()
63 err = setup_signal_stack_sc(sp, signr, ka, regs, oldset); in handle_signal()
66 err = setup_signal_stack_si(sp, signr, ka, regs, info, oldset); in handle_signal()
71 block_sigmask(ka, signr); in handle_signal()
/arch/blackfin/kernel/
Dsignal.c150 static inline void *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, in get_sigframe() argument
159 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
167 setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t * info, in setup_rt_frame() argument
173 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
202 (struct fdpic_func_descriptor *) ka->sa.sa_handler; in setup_rt_frame()
206 regs->pc = (unsigned long)ka->sa.sa_handler; in setup_rt_frame()
217 ka->sa.sa_handler = SIG_DFL; in setup_rt_frame()
223 handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) in handle_restart() argument
233 if (has_handler && !(ka->sa.sa_flags & SA_RESTART)) { in handle_restart()
256 handle_signal(int sig, siginfo_t *info, struct k_sigaction *ka, in handle_signal() argument
[all …]
/arch/tile/kernel/
Dsignal.c132 static inline void __user *get_sigframe(struct k_sigaction *ka, in get_sigframe() argument
150 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
164 static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
172 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
184 if (ka->sa.sa_flags & SA_SIGINFO) { in setup_rt_frame()
207 if (ka->sa.sa_flags & SA_RESTORER) in setup_rt_frame()
208 restorer = (unsigned long) ka->sa.sa_restorer; in setup_rt_frame()
217 regs->pc = (unsigned long) ka->sa.sa_handler; in setup_rt_frame()
246 struct k_sigaction *ka, sigset_t *oldset, in handle_signal() argument
261 if (!(ka->sa.sa_flags & SA_RESTART)) { in handle_signal()
[all …]
/arch/h8300/kernel/
Dsignal.c302 get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size) in get_sigframe() argument
310 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
317 static void setup_frame (int sig, struct k_sigaction *ka, in setup_frame() argument
325 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_frame()
352 if (ka->sa.sa_flags & SA_RESTORER) in setup_frame()
353 ret = (unsigned char *)(ka->sa.sa_restorer); in setup_frame()
369 regs->pc = (unsigned long) ka->sa.sa_handler; in setup_frame()
384 static void setup_rt_frame (int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
392 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
428 if (ka->sa.sa_flags & SA_RESTORER) in setup_rt_frame()
[all …]
/arch/score/kernel/
Dsignal.c121 static void __user *get_sigframe(struct k_sigaction *ka, in get_sigframe() argument
131 if ((ka->sa.sa_flags & SA_ONSTACK) && (!on_sig_stack(sp))) in get_sigframe()
192 static int setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, in setup_rt_frame() argument
198 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
233 regs->regs[29] = (unsigned long) ka->sa.sa_handler; in setup_rt_frame()
234 regs->cp0_epc = (unsigned long) ka->sa.sa_handler; in setup_rt_frame()
240 ka->sa.sa_handler = SIG_DFL; in setup_rt_frame()
246 struct k_sigaction *ka, sigset_t *oldset, struct pt_regs *regs) in handle_signal() argument
257 if (!(ka->sa.sa_flags & SA_RESTART)) { in handle_signal()
273 ret = setup_rt_frame(ka, regs, sig, oldset, info); in handle_signal()
[all …]
/arch/c6x/kernel/
Dsignal.c130 static inline void __user *get_sigframe(struct k_sigaction *ka, in get_sigframe() argument
139 if ((ka->sa.sa_flags & SA_ONSTACK) && sas_ss_flags(sp) == 0) in get_sigframe()
149 static int setup_rt_frame(int signr, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
156 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
201 regs->pc = (unsigned long) ka->sa.sa_handler; in setup_rt_frame()
222 handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) in handle_restart() argument
232 if (has_handler && !(ka->sa.sa_flags & SA_RESTART)) { in handle_restart()
249 siginfo_t *info, struct k_sigaction *ka, in handle_signal() argument
265 if (!(ka->sa.sa_flags & SA_RESTART)) { in handle_signal()
278 ret = setup_rt_frame(sig, ka, info, oldset, regs); in handle_signal()
[all …]
/arch/mn10300/kernel/
Dsignal.c261 static inline void __user *get_sigframe(struct k_sigaction *ka, in get_sigframe() argument
271 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
282 static int setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, in setup_frame() argument
288 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_frame()
314 if (ka->sa.sa_flags & SA_RESTORER) { in setup_frame()
315 if (__put_user(ka->sa.sa_restorer, &frame->pretcode)) in setup_frame()
334 regs->pc = (unsigned long) ka->sa.sa_handler; in setup_frame()
358 static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
364 frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
394 if (ka->sa.sa_flags & SA_RESTORER) { in setup_rt_frame()
[all …]
/arch/sh/kernel/
Dsignal_32.c327 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument
329 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
342 static int setup_frame(int sig, struct k_sigaction *ka, in setup_frame() argument
349 frame = get_sigframe(ka, regs->regs[15], sizeof(*frame)); in setup_frame()
368 if (ka->sa.sa_flags & SA_RESTORER) { in setup_frame()
369 regs->pr = (unsigned long) ka->sa.sa_restorer; in setup_frame()
399 (struct fdpic_func_descriptor __user *)ka->sa.sa_handler; in setup_frame()
404 regs->pc = (unsigned long)ka->sa.sa_handler; in setup_frame()
418 static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
425 frame = get_sigframe(ka, regs->regs[15], sizeof(*frame)); in setup_rt_frame()
[all …]
/arch/m32r/kernel/
Dsignal.c181 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument
184 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe()
192 static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
199 frame = get_sigframe(ka, regs->spu, sizeof(*frame)); in setup_rt_frame()
233 regs->lr = (unsigned long)ka->sa.sa_restorer; in setup_rt_frame()
240 regs->bpc = (unsigned long)ka->sa.sa_handler; in setup_rt_frame()
274 handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info, in handle_signal() argument
287 if (!(ka->sa.sa_flags & SA_RESTART)) { in handle_signal()
300 if (setup_rt_frame(sig, ka, info, oldset, regs)) in handle_signal()
304 sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask); in handle_signal()
[all …]
/arch/alpha/kernel/
Dsignal.c305 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument
307 if ((ka->sa.sa_flags & SA_ONSTACK) != 0 && ! sas_ss_flags(sp)) in get_sigframe()
370 setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, in setup_frame() argument
377 frame = get_sigframe(ka, oldsp, sizeof(*frame)); in setup_frame()
387 if (ka->ka_restorer) { in setup_frame()
388 r26 = (unsigned long) ka->ka_restorer; in setup_frame()
403 regs->r27 = regs->pc = (unsigned long) ka->sa.sa_handler; in setup_frame()
422 setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
429 frame = get_sigframe(ka, oldsp, sizeof(*frame)); in setup_rt_frame()
450 if (ka->ka_restorer) { in setup_rt_frame()
[all …]
/arch/arm/kernel/
Dsignal.c377 get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, int framesize) in get_sigframe() argument
385 if ((ka->sa.sa_flags & SA_ONSTACK) && !sas_ss_flags(sp)) in get_sigframe()
403 setup_return(struct pt_regs *regs, struct k_sigaction *ka, in setup_return() argument
406 unsigned long handler = (unsigned long)ka->sa.sa_handler; in setup_return()
416 if (ka->sa.sa_flags & SA_THIRTYTWO) in setup_return()
438 if (ka->sa.sa_flags & SA_RESTORER) { in setup_return()
439 retcode = (unsigned long)ka->sa.sa_restorer; in setup_return()
443 if (ka->sa.sa_flags & SA_SIGINFO) in setup_return()
478 setup_frame(int usig, struct k_sigaction *ka, sigset_t *set, struct pt_regs *regs) in setup_frame() argument
480 struct sigframe __user *frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_frame()
[all …]
/arch/parisc/kernel/
Dsignal.c189 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument
195 (unsigned long)ka, sp, frame_size); in get_sigframe()
197 if ((ka->sa.sa_flags & SA_ONSTACK) != 0 && ! sas_ss_flags(sp)) in get_sigframe()
239 setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
254 frame = get_sigframe(ka, usp, sizeof(*frame)); in setup_rt_frame()
338 haddr = A(ka->sa.sa_handler); in setup_rt_frame()
447 handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka, in handle_signal() argument
451 sig, ka, info, oldset, regs); in handle_signal()
454 if (!setup_rt_frame(sig, ka, info, oldset, regs, in_syscall)) in handle_signal()
458 sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask); in handle_signal()
[all …]
/arch/sparc/kernel/
Dsignal_32.c259 static int setup_frame(struct k_sigaction *ka, struct pt_regs *regs, in setup_frame() argument
278 get_sigframe(&ka->sa, regs, sigframe_size); in setup_frame()
329 regs->pc = (unsigned long) ka->sa.sa_handler; in setup_frame()
333 if (ka->ka_restorer) in setup_frame()
334 regs->u_regs[UREG_I7] = (unsigned long)ka->ka_restorer; in setup_frame()
360 static int setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, in setup_rt_frame() argument
377 get_sigframe(&ka->sa, regs, sigframe_size); in setup_rt_frame()
435 regs->pc = (unsigned long) ka->sa.sa_handler; in setup_rt_frame()
438 if (ka->ka_restorer) in setup_rt_frame()
439 regs->u_regs[UREG_I7] = (unsigned long)ka->ka_restorer; in setup_rt_frame()
[all …]
/arch/unicore32/kernel/
Dsignal.c194 static inline void __user *get_sigframe(struct k_sigaction *ka, in get_sigframe() argument
203 if ((ka->sa.sa_flags & SA_ONSTACK) && !sas_ss_flags(sp)) in get_sigframe()
220 static int setup_return(struct pt_regs *regs, struct k_sigaction *ka, in setup_return() argument
223 unsigned long handler = (unsigned long)ka->sa.sa_handler; in setup_return()
229 if (ka->sa.sa_flags & SA_SIGINFO) in setup_return()
247 static int setup_frame(int usig, struct k_sigaction *ka, in setup_frame() argument
250 struct sigframe __user *frame = get_sigframe(ka, regs, sizeof(*frame)); in setup_frame()
263 err |= setup_return(regs, ka, frame->retcode, frame, usig); in setup_frame()
268 static int setup_rt_frame(int usig, struct k_sigaction *ka, siginfo_t *info, in setup_rt_frame() argument
272 get_sigframe(ka, regs, sizeof(*frame)); in setup_rt_frame()
[all …]
/arch/mips/include/asm/
Dabi.h16 int (* const setup_frame)(void *sig_return, struct k_sigaction *ka,
20 int (* const setup_rt_frame)(void *sig_return, struct k_sigaction *ka,

12