Home
last modified time | relevance | path

Searched refs:frame (Results 1 – 25 of 364) sorted by relevance

12345678910>>...15

/arch/arm64/kernel/
Dstacktrace.c36 notrace void start_backtrace(struct stackframe *frame, unsigned long fp, in start_backtrace() argument
39 frame->fp = fp; in start_backtrace()
40 frame->pc = pc; in start_backtrace()
42 frame->graph = 0; in start_backtrace()
54 bitmap_zero(frame->stacks_done, __NR_STACK_TYPES); in start_backtrace()
55 frame->prev_fp = 0; in start_backtrace()
56 frame->prev_type = STACK_TYPE_UNKNOWN; in start_backtrace()
68 int notrace unwind_frame(struct task_struct *tsk, struct stackframe *frame) in unwind_frame() argument
70 unsigned long fp = frame->fp; in unwind_frame()
86 if (test_bit(info.type, frame->stacks_done)) in unwind_frame()
[all …]
Dsignal32.c92 static int compat_preserve_vfp_context(struct compat_vfp_sigframe __user *frame) in compat_preserve_vfp_context() argument
109 __put_user_error(magic, &frame->magic, err); in compat_preserve_vfp_context()
110 __put_user_error(size, &frame->size, err); in compat_preserve_vfp_context()
116 for (i = 0; i < ARRAY_SIZE(frame->ufp.fpregs); i += 2) { in compat_preserve_vfp_context()
121 __put_user_error(vreg.lo, &frame->ufp.fpregs[i], err); in compat_preserve_vfp_context()
122 __put_user_error(vreg.hi, &frame->ufp.fpregs[i + 1], err); in compat_preserve_vfp_context()
128 __put_user_error(fpscr, &frame->ufp.fpscr, err); in compat_preserve_vfp_context()
135 __put_user_error(fpexc, &frame->ufp_exc.fpexc, err); in compat_preserve_vfp_context()
136 __put_user_error(0, &frame->ufp_exc.fpinst, err); in compat_preserve_vfp_context()
137 __put_user_error(0, &frame->ufp_exc.fpinst2, err); in compat_preserve_vfp_context()
[all …]
/arch/arm/kernel/
Dstacktrace.c41 int notrace unwind_frame(struct stackframe *frame) in unwind_frame() argument
44 unsigned long fp = frame->fp; in unwind_frame()
47 low = frame->sp; in unwind_frame()
55 frame->sp = frame->fp; in unwind_frame()
56 frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp)); in unwind_frame()
57 frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp + 4)); in unwind_frame()
64 frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 12)); in unwind_frame()
65 frame->sp = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 8)); in unwind_frame()
66 frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 4)); in unwind_frame()
73 void notrace walk_stackframe(struct stackframe *frame, in walk_stackframe() argument
[all …]
Dsignal.c30 static int preserve_iwmmxt_context(struct iwmmxt_sigframe __user *frame) in preserve_iwmmxt_context() argument
32 char kbuf[sizeof(*frame) + 8]; in preserve_iwmmxt_context()
56 err = __copy_to_user(frame, kframe, sizeof(*kframe)); in preserve_iwmmxt_context()
63 struct iwmmxt_sigframe __user *frame = in restore_iwmmxt_context() local
65 char kbuf[sizeof(*frame) + 8]; in restore_iwmmxt_context()
70 if (__copy_from_user(kframe, frame, sizeof(*frame))) in restore_iwmmxt_context()
101 static int preserve_vfp_context(struct vfp_sigframe __user *frame) in preserve_vfp_context() argument
114 return __copy_to_user(frame, &kframe, sizeof(kframe)); in preserve_vfp_context()
119 struct vfp_sigframe frame; in restore_vfp_context() local
122 err = __copy_from_user(&frame, *auxp, sizeof(frame)); in restore_vfp_context()
[all …]
Dreturn_address.c19 static int save_return_addr(struct stackframe *frame, void *d) in save_return_addr() argument
24 data->addr = (void *)frame->pc; in save_return_addr()
36 struct stackframe frame; in return_address() local
41 frame.fp = (unsigned long)__builtin_frame_address(0); in return_address()
42 frame.sp = current_stack_pointer; in return_address()
43 frame.lr = (unsigned long)__builtin_return_address(0); in return_address()
44 frame.pc = (unsigned long)return_address; in return_address()
46 walk_stackframe(&frame, save_return_addr, &data); in return_address()
/arch/mips/kernel/
Dsignal_n32.c56 struct rt_sigframe_n32 __user *frame; in sysn32_rt_sigreturn() local
62 frame = (struct rt_sigframe_n32 __user *)regs->regs[29]; in sysn32_rt_sigreturn()
63 if (!access_ok(frame, sizeof(*frame))) in sysn32_rt_sigreturn()
65 if (__copy_conv_sigset_from_user(&set, &frame->rs_uc.uc_sigmask)) in sysn32_rt_sigreturn()
70 sig = restore_sigcontext(regs, &frame->rs_uc.uc_mcontext); in sysn32_rt_sigreturn()
76 if (compat_restore_altstack(&frame->rs_uc.uc_stack)) in sysn32_rt_sigreturn()
96 struct rt_sigframe_n32 __user *frame; in setup_rt_frame_n32() local
99 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame_n32()
100 if (!access_ok(frame, sizeof (*frame))) in setup_rt_frame_n32()
104 err |= copy_siginfo_to_user32(&frame->rs_info, &ksig->info); in setup_rt_frame_n32()
[all …]
Dsignal_o32.c117 struct sigframe32 __user *frame; in setup_frame_32() local
120 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_frame_32()
121 if (!access_ok(frame, sizeof (*frame))) in setup_frame_32()
124 err |= setup_sigcontext32(regs, &frame->sf_sc); in setup_frame_32()
125 err |= __copy_conv_sigset_to_user(&frame->sf_mask, set); in setup_frame_32()
142 regs->regs[ 6] = (unsigned long) &frame->sf_sc; in setup_frame_32()
143 regs->regs[29] = (unsigned long) frame; in setup_frame_32()
149 frame, regs->cp0_epc, regs->regs[31]); in setup_frame_32()
156 struct rt_sigframe32 __user *frame; in sys32_rt_sigreturn() local
162 frame = (struct rt_sigframe32 __user *)regs->regs[29]; in sys32_rt_sigreturn()
[all …]
/arch/sh/kernel/
Dreturn_address.c16 struct dwarf_frame *frame; in return_address() local
20 for (i = 0, frame = NULL, ra = 0; i <= depth; i++) { in return_address()
23 tmp = dwarf_unwind_stack(ra, frame); in return_address()
27 if (frame) in return_address()
28 dwarf_free_frame(frame); in return_address()
30 frame = tmp; in return_address()
32 if (!frame || !frame->return_addr) in return_address()
35 ra = frame->return_addr; in return_address()
41 if (frame) in return_address()
42 dwarf_free_frame(frame); in return_address()
Dsignal_32.c158 struct sigframe __user *frame = (struct sigframe __user *)regs->regs[15]; in sys_sigreturn() local
165 if (!access_ok(frame, sizeof(*frame))) in sys_sigreturn()
168 if (__get_user(set.sig[0], &frame->sc.oldmask) in sys_sigreturn()
170 && __copy_from_user(&set.sig[1], &frame->extramask, in sys_sigreturn()
171 sizeof(frame->extramask)))) in sys_sigreturn()
176 if (restore_sigcontext(regs, &frame->sc, &r0)) in sys_sigreturn()
188 struct rt_sigframe __user *frame = (struct rt_sigframe __user *)regs->regs[15]; in sys_rt_sigreturn() local
195 if (!access_ok(frame, sizeof(*frame))) in sys_rt_sigreturn()
198 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in sys_rt_sigreturn()
203 if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &r0)) in sys_rt_sigreturn()
[all …]
Ddwarf.c62 static struct dwarf_reg *dwarf_frame_alloc_reg(struct dwarf_frame *frame, in dwarf_frame_alloc_reg() argument
81 list_add(&reg->link, &frame->reg_list); in dwarf_frame_alloc_reg()
86 static void dwarf_frame_free_regs(struct dwarf_frame *frame) in dwarf_frame_free_regs() argument
90 list_for_each_entry_safe(reg, n, &frame->reg_list, link) { in dwarf_frame_free_regs()
104 static struct dwarf_reg *dwarf_frame_reg(struct dwarf_frame *frame, in dwarf_frame_reg() argument
109 list_for_each_entry(reg, &frame->reg_list, link) { in dwarf_frame_reg()
400 struct dwarf_frame *frame, in dwarf_cfa_execute_insns() argument
410 while (current_insn < insn_end && frame->pc <= pc) { in dwarf_cfa_execute_insns()
421 frame->pc += delta; in dwarf_cfa_execute_insns()
429 regp = dwarf_frame_alloc_reg(frame, reg); in dwarf_cfa_execute_insns()
[all …]
/arch/x86/kernel/
Dsignal.c206 #define unsafe_put_sigmask(set, frame, label) \ argument
208 (__u64 __user *)&(frame)->uc.uc_sigmask, \
329 struct sigframe __user *frame; in __setup_frame() local
333 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fp); in __setup_frame()
335 if (!user_access_begin(frame, sizeof(*frame))) in __setup_frame()
338 unsafe_put_user(sig, &frame->sig, Efault); in __setup_frame()
339 unsafe_put_sigcontext(&frame->sc, fp, regs, set, Efault); in __setup_frame()
340 unsafe_put_user(set->sig[1], &frame->extramask[0], Efault); in __setup_frame()
345 restorer = &frame->retcode; in __setup_frame()
350 unsafe_put_user(restorer, &frame->pretcode, Efault); in __setup_frame()
[all …]
Dstacktrace.c89 struct stack_frame_user *frame) in copy_stack_frame() argument
93 if (__range_not_ok(fp, sizeof(*frame), TASK_SIZE)) in copy_stack_frame()
98 if (__get_user(frame->next_fp, &fp->next_fp) || in copy_stack_frame()
99 __get_user(frame->ret_addr, &fp->ret_addr)) in copy_stack_frame()
115 struct stack_frame_user frame; in arch_stack_walk_user() local
117 frame.next_fp = NULL; in arch_stack_walk_user()
118 frame.ret_addr = 0; in arch_stack_walk_user()
119 if (!copy_stack_frame(fp, &frame)) in arch_stack_walk_user()
123 if (!frame.ret_addr) in arch_stack_walk_user()
125 if (!consume_entry(cookie, frame.ret_addr)) in arch_stack_walk_user()
[all …]
/arch/xtensa/kernel/
Dstacktrace.c27 int (*ufn)(struct stackframe *frame, void *data), in xtensa_backtrace_user() argument
35 struct stackframe frame; in xtensa_backtrace_user() local
41 frame.pc = pc; in xtensa_backtrace_user()
42 frame.sp = a1; in xtensa_backtrace_user()
44 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user()
79 frame.pc = pc; in xtensa_backtrace_user()
80 frame.sp = a1; in xtensa_backtrace_user()
82 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user()
106 frame.pc = pc; in xtensa_backtrace_user()
107 frame.sp = a1; in xtensa_backtrace_user()
[all …]
Dsignal.c134 setup_sigcontext(struct rt_sigframe __user *frame, struct pt_regs *regs) in setup_sigcontext() argument
136 struct sigcontext __user *sc = &frame->uc.uc_mcontext; in setup_sigcontext()
159 err |= __copy_to_user(&frame->xtregs.cp, &ti->xtregs_cp, in setup_sigcontext()
160 sizeof (frame->xtregs.cp)); in setup_sigcontext()
162 err |= __copy_to_user(&frame->xtregs.opt, &regs->xtregs_opt, in setup_sigcontext()
164 err |= __copy_to_user(&frame->xtregs.user, &ti->xtregs_user, in setup_sigcontext()
167 err |= __put_user(err ? NULL : &frame->xtregs, &sc->sc_xtregs); in setup_sigcontext()
173 restore_sigcontext(struct pt_regs *regs, struct rt_sigframe __user *frame) in restore_sigcontext() argument
175 struct sigcontext __user *sc = &frame->uc.uc_mcontext; in restore_sigcontext()
223 err |= __copy_from_user(&ti->xtregs_cp, &frame->xtregs.cp, in restore_sigcontext()
[all …]
/arch/x86/ia32/
Dia32_signal.c103 struct sigframe_ia32 __user *frame = (struct sigframe_ia32 __user *)(regs->sp-8); in COMPAT_SYSCALL_DEFINE0() local
106 if (!access_ok(frame, sizeof(*frame))) in COMPAT_SYSCALL_DEFINE0()
108 if (__get_user(set.sig[0], &frame->sc.oldmask) in COMPAT_SYSCALL_DEFINE0()
109 || __get_user(((__u32 *)&set)[1], &frame->extramask[0])) in COMPAT_SYSCALL_DEFINE0()
114 if (ia32_restore_sigcontext(regs, &frame->sc)) in COMPAT_SYSCALL_DEFINE0()
119 signal_fault(regs, frame, "32bit sigreturn"); in COMPAT_SYSCALL_DEFINE0()
126 struct rt_sigframe_ia32 __user *frame; in COMPAT_SYSCALL_DEFINE0() local
129 frame = (struct rt_sigframe_ia32 __user *)(regs->sp - 4); in COMPAT_SYSCALL_DEFINE0()
131 if (!access_ok(frame, sizeof(*frame))) in COMPAT_SYSCALL_DEFINE0()
133 if (__get_user(set.sig[0], (__u64 __user *)&frame->uc.uc_sigmask)) in COMPAT_SYSCALL_DEFINE0()
[all …]
/arch/s390/kernel/
Dprocess.c116 } *frame; in copy_thread() local
118 frame = container_of(task_pt_regs(p), struct fake_frame, childregs); in copy_thread()
119 p->thread.ksp = (unsigned long) frame; in copy_thread()
136 frame->sf.back_chain = 0; in copy_thread()
137 frame->sf.gprs[5] = (unsigned long)frame + sizeof(struct stack_frame); in copy_thread()
138 frame->sf.gprs[6] = (unsigned long)p; in copy_thread()
140 frame->sf.gprs[8] = (unsigned long)ret_from_fork; in copy_thread()
142 frame->sf.gprs[9] = (unsigned long)frame; in copy_thread()
147 memset(&frame->childregs, 0, sizeof(struct pt_regs)); in copy_thread()
148 frame->childregs.psw.mask = PSW_KERNEL_BITS | PSW_MASK_DAT | in copy_thread()
[all …]
Dcompat_signal.c184 sigframe32 __user *frame = (sigframe32 __user *)regs->gprs[15]; in COMPAT_SYSCALL_DEFINE0() local
187 if (get_compat_sigset(&set, (compat_sigset_t __user *)frame->sc.oldmask)) in COMPAT_SYSCALL_DEFINE0()
191 if (restore_sigregs32(regs, &frame->sregs)) in COMPAT_SYSCALL_DEFINE0()
193 if (restore_sigregs_ext32(regs, &frame->sregs_ext)) in COMPAT_SYSCALL_DEFINE0()
205 rt_sigframe32 __user *frame = (rt_sigframe32 __user *)regs->gprs[15]; in COMPAT_SYSCALL_DEFINE0() local
208 if (get_compat_sigset(&set, &frame->uc.uc_sigmask)) in COMPAT_SYSCALL_DEFINE0()
211 if (compat_restore_altstack(&frame->uc.uc_stack)) in COMPAT_SYSCALL_DEFINE0()
214 if (restore_sigregs32(regs, &frame->uc.uc_mcontext)) in COMPAT_SYSCALL_DEFINE0()
216 if (restore_sigregs_ext32(regs, &frame->uc.uc_mcontext_ext)) in COMPAT_SYSCALL_DEFINE0()
258 sigframe32 __user *frame; in setup_frame32() local
[all …]
Dsignal.c222 struct sigframe __user *frame = in SYSCALL_DEFINE0() local
226 if (__copy_from_user(&set.sig, &frame->sc.oldmask, _SIGMASK_COPY_SIZE)) in SYSCALL_DEFINE0()
230 if (restore_sigregs(regs, &frame->sregs)) in SYSCALL_DEFINE0()
232 if (restore_sigregs_ext(regs, &frame->sregs_ext)) in SYSCALL_DEFINE0()
244 struct rt_sigframe __user *frame = in SYSCALL_DEFINE0() local
248 if (__copy_from_user(&set.sig, &frame->uc.uc_sigmask, sizeof(set))) in SYSCALL_DEFINE0()
251 if (restore_altstack(&frame->uc.uc_stack)) in SYSCALL_DEFINE0()
254 if (restore_sigregs(regs, &frame->uc.uc_mcontext)) in SYSCALL_DEFINE0()
256 if (restore_sigregs_ext(regs, &frame->uc.uc_mcontext_ext)) in SYSCALL_DEFINE0()
292 struct sigframe __user *frame; in setup_frame() local
[all …]
/arch/arc/include/asm/
Dunwind.h55 #define UNW_PC(frame) ((frame)->regs.r63) argument
56 #define UNW_SP(frame) ((frame)->regs.r28) argument
57 #define UNW_BLINK(frame) ((frame)->regs.r31) argument
61 #define UNW_FP(frame) ((frame)->regs.r27) argument
67 #define UNW_FP(frame) ((void)(frame), 0) argument
110 extern int arc_unwind(struct unwind_frame_info *frame);
143 #define UNW_PC(frame) ((void)(frame), 0) argument
144 #define UNW_SP(frame) ((void)(frame), 0) argument
145 #define UNW_FP(frame) ((void)(frame), 0) argument
/arch/x86/um/
Dsignal.c363 struct sigframe __user *frame; in setup_signal_stack_sc() local
369 frame = (struct sigframe __user *) stack_top - 1; in setup_signal_stack_sc()
370 if (!access_ok(frame, sizeof(*frame))) in setup_signal_stack_sc()
373 restorer = frame->retcode; in setup_signal_stack_sc()
377 err |= __put_user(restorer, &frame->pretcode); in setup_signal_stack_sc()
378 err |= __put_user(sig, &frame->sig); in setup_signal_stack_sc()
379 err |= copy_sc_to_user(&frame->sc, &frame->fpstate, regs, mask->sig[0]); in setup_signal_stack_sc()
381 err |= __copy_to_user(&frame->extramask, &mask->sig[1], in setup_signal_stack_sc()
382 sizeof(frame->extramask)); in setup_signal_stack_sc()
391 err |= __put_user(0xb858, (short __user *)(frame->retcode+0)); in setup_signal_stack_sc()
[all …]
/arch/openrisc/kernel/
Dsignal.c71 struct rt_sigframe __user *frame = (struct rt_sigframe __user *)regs->sp; in _sys_rt_sigreturn() local
79 if (((unsigned long)frame) & 3) in _sys_rt_sigreturn()
82 if (!access_ok(frame, sizeof(*frame))) in _sys_rt_sigreturn()
84 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in _sys_rt_sigreturn()
89 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) in _sys_rt_sigreturn()
92 if (restore_altstack(&frame->uc.uc_stack)) in _sys_rt_sigreturn()
154 struct rt_sigframe __user *frame; in setup_rt_frame() local
158 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
160 if (!access_ok(frame, sizeof(*frame))) in setup_rt_frame()
165 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
[all …]
/arch/csky/kernel/
Dsignal.c72 struct rt_sigframe __user *frame; in SYSCALL_DEFINE0() local
78 frame = (struct rt_sigframe __user *)regs->usp; in SYSCALL_DEFINE0()
80 if (!access_ok(frame, sizeof(*frame))) in SYSCALL_DEFINE0()
83 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in SYSCALL_DEFINE0()
88 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) in SYSCALL_DEFINE0()
91 if (restore_altstack(&frame->uc.uc_stack)) in SYSCALL_DEFINE0()
101 static int setup_sigcontext(struct rt_sigframe __user *frame, in setup_sigcontext() argument
104 struct sigcontext __user *sc = &frame->uc.uc_mcontext; in setup_sigcontext()
139 struct rt_sigframe __user *frame; in setup_rt_frame() local
142 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
[all …]
/arch/riscv/kernel/
Dsignal.c102 struct rt_sigframe __user *frame; in SYSCALL_DEFINE0() local
109 frame = (struct rt_sigframe __user *)regs->sp; in SYSCALL_DEFINE0()
111 if (!access_ok(frame, sizeof(*frame))) in SYSCALL_DEFINE0()
114 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in SYSCALL_DEFINE0()
119 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) in SYSCALL_DEFINE0()
122 if (restore_altstack(&frame->uc.uc_stack)) in SYSCALL_DEFINE0()
135 frame, (void *)regs->epc, (void *)regs->sp); in SYSCALL_DEFINE0()
141 static long setup_sigcontext(struct rt_sigframe __user *frame, in setup_sigcontext() argument
144 struct sigcontext __user *sc = &frame->uc.uc_mcontext; in setup_sigcontext()
180 struct rt_sigframe __user *frame; in setup_rt_frame() local
[all …]
/arch/h8300/kernel/
Dsignal.c108 struct rt_sigframe *frame = (struct rt_sigframe *)(usp - 4); in sys_rt_sigreturn() local
112 if (!access_ok(frame, sizeof(*frame))) in sys_rt_sigreturn()
114 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in sys_rt_sigreturn()
119 if (restore_sigcontext(&frame->uc.uc_mcontext, &er0)) in sys_rt_sigreturn()
122 if (restore_altstack(&frame->uc.uc_stack)) in sys_rt_sigreturn()
161 struct rt_sigframe *frame; in setup_rt_frame() local
165 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
167 if (!access_ok(frame, sizeof(*frame))) in setup_rt_frame()
171 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
174 err |= __put_user(0, &frame->uc.uc_flags); in setup_rt_frame()
[all …]
/arch/arm/include/asm/
Dstacktrace.h19 void arm_get_current_stackframe(struct pt_regs *regs, struct stackframe *frame) in arm_get_current_stackframe() argument
21 frame->fp = frame_pointer(regs); in arm_get_current_stackframe()
22 frame->sp = regs->ARM_sp; in arm_get_current_stackframe()
23 frame->lr = regs->ARM_lr; in arm_get_current_stackframe()
24 frame->pc = regs->ARM_pc; in arm_get_current_stackframe()
27 extern int unwind_frame(struct stackframe *frame);
28 extern void walk_stackframe(struct stackframe *frame,

12345678910>>...15