Home
last modified time | relevance | path

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

12345678910>>...13

/arch/frv/kernel/
Dsignal.c87 struct sigframe __user *frame = (struct sigframe __user *) __frame->sp; in sys_sigreturn() local
91 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_sigreturn()
93 if (__get_user(set.sig[0], &frame->sc.sc_oldmask)) in sys_sigreturn()
97 __copy_from_user(&set.sig[1], &frame->extramask, sizeof(frame->extramask))) in sys_sigreturn()
102 if (restore_sigcontext(&frame->sc, &gr8)) in sys_sigreturn()
113 struct rt_sigframe __user *frame = (struct rt_sigframe __user *) __frame->sp; in sys_rt_sigreturn() local
117 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_rt_sigreturn()
119 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in sys_rt_sigreturn()
124 if (restore_sigcontext(&frame->uc.uc_mcontext, &gr8)) in sys_rt_sigreturn()
127 if (restore_altstack(&frame->uc.uc_stack)) in sys_rt_sigreturn()
[all …]
/arch/mn10300/kernel/
Dsignal.c96 struct sigframe __user *frame; in sys_sigreturn() local
100 frame = (struct sigframe __user *) current_frame()->sp; in sys_sigreturn()
101 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_sigreturn()
103 if (__get_user(set.sig[0], &frame->sc.oldmask)) in sys_sigreturn()
107 __copy_from_user(&set.sig[1], &frame->extramask, in sys_sigreturn()
108 sizeof(frame->extramask))) in sys_sigreturn()
113 if (restore_sigcontext(current_frame(), &frame->sc, &d0)) in sys_sigreturn()
128 struct rt_sigframe __user *frame; in sys_rt_sigreturn() local
132 frame = (struct rt_sigframe __user *) current_frame()->sp; in sys_rt_sigreturn()
133 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_rt_sigreturn()
[all …]
/arch/arm64/kernel/
Dstacktrace.c41 int notrace unwind_frame(struct task_struct *tsk, struct stackframe *frame) in unwind_frame() argument
44 unsigned long fp = frame->fp; in unwind_frame()
59 low = frame->sp; in unwind_frame()
61 if (on_irq_stack(frame->sp, raw_smp_processor_id())) in unwind_frame()
69 frame->sp = fp + 0x10; in unwind_frame()
70 frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp)); in unwind_frame()
71 frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp + 8)); in unwind_frame()
75 (frame->pc == (unsigned long)return_to_handler)) { in unwind_frame()
82 frame->pc = tsk->ret_stack[frame->graph--].ret; in unwind_frame()
95 if (frame->sp == irq_stack_ptr) { in unwind_frame()
[all …]
Dtime.c47 struct stackframe frame; in profile_pc() local
52 frame.fp = regs->regs[29]; in profile_pc()
53 frame.sp = regs->sp; in profile_pc()
54 frame.pc = regs->pc; in profile_pc()
56 frame.graph = -1; /* no task info */ in profile_pc()
59 int ret = unwind_frame(NULL, &frame); in profile_pc()
62 } while (in_lock_functions(frame.pc)); in profile_pc()
64 return frame.pc; in profile_pc()
/arch/cris/arch-v10/kernel/
Dsignal.c107 struct sigframe __user *frame = (struct sigframe *)rdusp(); in sys_sigreturn() local
115 if (((long)frame) & 3) in sys_sigreturn()
118 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_sigreturn()
120 if (__get_user(set.sig[0], &frame->sc.oldmask) in sys_sigreturn()
122 && __copy_from_user(&set.sig[1], frame->extramask, in sys_sigreturn()
123 sizeof(frame->extramask)))) in sys_sigreturn()
128 if (restore_sigcontext(regs, &frame->sc)) in sys_sigreturn()
143 struct rt_sigframe __user *frame = (struct rt_sigframe *)rdusp(); in sys_rt_sigreturn() local
151 if (((long)frame) & 3) in sys_rt_sigreturn()
154 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_rt_sigreturn()
[all …]
/arch/arm/kernel/
Dstacktrace.c25 int notrace unwind_frame(struct stackframe *frame) in unwind_frame() argument
28 unsigned long fp = frame->fp; in unwind_frame()
31 low = frame->sp; in unwind_frame()
39 frame->fp = *(unsigned long *)(fp - 12); in unwind_frame()
40 frame->sp = *(unsigned long *)(fp - 8); in unwind_frame()
41 frame->pc = *(unsigned long *)(fp - 4); in unwind_frame()
47 void notrace walk_stackframe(struct stackframe *frame, in walk_stackframe() argument
53 if (fn(frame, data)) in walk_stackframe()
55 ret = unwind_frame(frame); in walk_stackframe()
70 static int save_trace(struct stackframe *frame, void *d) in save_trace() argument
[all …]
Dsignal.c30 static int preserve_crunch_context(struct crunch_sigframe __user *frame) in preserve_crunch_context() argument
32 char kbuf[sizeof(*frame) + 8]; in preserve_crunch_context()
40 return __copy_to_user(frame, kframe, sizeof(*frame)); in preserve_crunch_context()
43 static int restore_crunch_context(struct crunch_sigframe __user *frame) in restore_crunch_context() argument
45 char kbuf[sizeof(*frame) + 8]; in restore_crunch_context()
50 if (__copy_from_user(kframe, frame, sizeof(*frame))) in restore_crunch_context()
62 static int preserve_iwmmxt_context(struct iwmmxt_sigframe *frame) in preserve_iwmmxt_context() argument
64 char kbuf[sizeof(*frame) + 8]; in preserve_iwmmxt_context()
72 return __copy_to_user(frame, kframe, sizeof(*frame)); in preserve_iwmmxt_context()
75 static int restore_iwmmxt_context(struct iwmmxt_sigframe *frame) in restore_iwmmxt_context() argument
[all …]
Dreturn_address.c24 static int save_return_addr(struct stackframe *frame, void *d) in save_return_addr() argument
29 data->addr = (void *)frame->pc; in save_return_addr()
41 struct stackframe frame; in return_address() local
46 frame.fp = (unsigned long)__builtin_frame_address(0); in return_address()
47 frame.sp = current_stack_pointer; in return_address()
48 frame.lr = (unsigned long)__builtin_return_address(0); in return_address()
49 frame.pc = (unsigned long)return_address; in return_address()
51 walk_stackframe(&frame, save_return_addr, &data); in return_address()
/arch/unicore32/kernel/
Dstacktrace.c35 int notrace unwind_frame(struct stackframe *frame) in unwind_frame() argument
38 unsigned long fp = frame->fp; in unwind_frame()
41 low = frame->sp; in unwind_frame()
49 frame->fp = *(unsigned long *)(fp - 12); in unwind_frame()
50 frame->sp = *(unsigned long *)(fp - 8); in unwind_frame()
51 frame->pc = *(unsigned long *)(fp - 4); in unwind_frame()
57 void notrace walk_stackframe(struct stackframe *frame, in walk_stackframe() argument
63 if (fn(frame, data)) in walk_stackframe()
65 ret = unwind_frame(frame); in walk_stackframe()
79 static int save_trace(struct stackframe *frame, void *d) in save_trace() argument
[all …]
/arch/mips/kernel/
Dsignal_n32.c69 struct rt_sigframe_n32 __user *frame; in sysn32_rt_sigreturn() local
73 frame = (struct rt_sigframe_n32 __user *) regs.regs[29]; in sysn32_rt_sigreturn()
74 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sysn32_rt_sigreturn()
76 if (__copy_conv_sigset_from_user(&set, &frame->rs_uc.uc_sigmask)) in sysn32_rt_sigreturn()
81 sig = restore_sigcontext(&regs, &frame->rs_uc.uc_mcontext); in sysn32_rt_sigreturn()
87 if (compat_restore_altstack(&frame->rs_uc.uc_stack)) in sysn32_rt_sigreturn()
107 struct rt_sigframe_n32 __user *frame; in setup_rt_frame_n32() local
110 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame_n32()
111 if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame))) in setup_rt_frame_n32()
115 err |= copy_siginfo_to_user32(&frame->rs_info, &ksig->info); in setup_rt_frame_n32()
[all …]
Dsignal_o32.c116 struct sigframe32 __user *frame; in setup_frame_32() local
119 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_frame_32()
120 if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame))) in setup_frame_32()
123 err |= setup_sigcontext32(regs, &frame->sf_sc); in setup_frame_32()
124 err |= __copy_conv_sigset_to_user(&frame->sf_mask, set); in setup_frame_32()
141 regs->regs[ 6] = (unsigned long) &frame->sf_sc; in setup_frame_32()
142 regs->regs[29] = (unsigned long) frame; in setup_frame_32()
148 frame, regs->cp0_epc, regs->regs[31]); in setup_frame_32()
155 struct rt_sigframe32 __user *frame; in sys32_rt_sigreturn() local
159 frame = (struct rt_sigframe32 __user *) regs.regs[29]; in sys32_rt_sigreturn()
[all …]
/arch/sh/kernel/
Dreturn_address.c19 struct dwarf_frame *frame; in return_address() local
23 for (i = 0, frame = NULL, ra = 0; i <= depth; i++) { in return_address()
26 tmp = dwarf_unwind_stack(ra, frame); in return_address()
30 if (frame) in return_address()
31 dwarf_free_frame(frame); in return_address()
33 frame = tmp; in return_address()
35 if (!frame || !frame->return_addr) in return_address()
38 ra = frame->return_addr; in return_address()
44 if (frame) in return_address()
45 dwarf_free_frame(frame); in return_address()
Dsignal_32.c154 struct sigframe __user *frame = (struct sigframe __user *)regs->regs[15]; in sys_sigreturn() local
161 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_sigreturn()
164 if (__get_user(set.sig[0], &frame->sc.oldmask) in sys_sigreturn()
166 && __copy_from_user(&set.sig[1], &frame->extramask, in sys_sigreturn()
167 sizeof(frame->extramask)))) in sys_sigreturn()
172 if (restore_sigcontext(regs, &frame->sc, &r0)) in sys_sigreturn()
184 struct rt_sigframe __user *frame = (struct rt_sigframe __user *)regs->regs[15]; in sys_rt_sigreturn() local
191 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_rt_sigreturn()
194 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in sys_rt_sigreturn()
199 if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &r0)) in sys_rt_sigreturn()
[all …]
/arch/metag/kernel/
Dstacktrace.c39 int notrace unwind_frame(struct stackframe *frame) in unwind_frame() argument
41 struct metag_frame *fp = (struct metag_frame *)frame->fp; in unwind_frame()
45 if (frame->fp & 0x7) in unwind_frame()
75 frame->fp = fpnew; in unwind_frame()
76 frame->pc = lr; in unwind_frame()
81 int notrace unwind_frame(struct stackframe *frame) in unwind_frame() argument
83 struct metag_frame *sp = (struct metag_frame *)frame->sp; in unwind_frame()
85 if (frame->sp & 0x7) in unwind_frame()
93 frame->sp = (unsigned long)sp; in unwind_frame()
94 frame->pc = addr; in unwind_frame()
[all …]
Dsignal.c74 struct rt_sigframe __user *frame; in sys_rt_sigreturn() local
77 frame = (__force struct rt_sigframe __user *)(regs->REG_SP - in sys_rt_sigreturn()
78 sizeof(*frame)); in sys_rt_sigreturn()
80 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_rt_sigreturn()
83 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in sys_rt_sigreturn()
88 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) in sys_rt_sigreturn()
91 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->REG_SP); in setup_rt_frame()
159 if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) in setup_rt_frame()
[all …]
Dperf_callchain.c34 struct metag_frame frame; in user_backtrace() local
40 if (!access_ok(VERIFY_READ, user_frame, sizeof(frame))) in user_backtrace()
42 if (__copy_from_user_inatomic(&frame, user_frame, in user_backtrace()
43 sizeof(frame))) in user_backtrace()
48 calladdr = frame.lr - 4; in user_backtrace()
62 struct metag_frame __user *frame; in perf_callchain_user() local
64 frame = (struct metag_frame __user *)sp; in perf_callchain_user()
66 --frame; in perf_callchain_user()
68 while ((entry->nr < entry->max_stack) && frame) in perf_callchain_user()
69 frame = user_backtrace(frame, entry); in perf_callchain_user()
/arch/cris/arch-v32/kernel/
Dsignal.c91 struct signal_frame __user *frame; in sys_sigreturn() local
95 frame = (struct signal_frame *) rdusp(); in sys_sigreturn()
102 if (((long)frame) & 3) in sys_sigreturn()
105 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys_sigreturn()
108 if (__get_user(set.sig[0], &frame->sc.oldmask) || in sys_sigreturn()
110 frame->extramask, in sys_sigreturn()
111 sizeof(frame->extramask)))) in sys_sigreturn()
116 if (restore_sigcontext(regs, &frame->sc)) in sys_sigreturn()
132 struct rt_signal_frame __user *frame; in sys_rt_sigreturn() local
136 frame = (struct rt_signal_frame *) rdusp(); in sys_rt_sigreturn()
[all …]
/arch/x86/kernel/
Dsignal.c315 struct sigframe __user *frame; in __setup_frame() local
320 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fpstate); in __setup_frame()
322 if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) in __setup_frame()
325 if (__put_user(sig, &frame->sig)) in __setup_frame()
328 if (setup_sigcontext(&frame->sc, fpstate, regs, set->sig[0])) in __setup_frame()
332 if (__copy_to_user(&frame->extramask, &set->sig[1], in __setup_frame()
333 sizeof(frame->extramask))) in __setup_frame()
341 restorer = &frame->retcode; in __setup_frame()
346 err |= __put_user(restorer, &frame->pretcode); in __setup_frame()
355 err |= __put_user(*((u64 *)&retcode), (u64 *)frame->retcode); in __setup_frame()
[all …]
/arch/xtensa/kernel/
Dstacktrace.c35 int (*ufn)(struct stackframe *frame, void *data), in xtensa_backtrace_user() argument
43 struct stackframe frame; in xtensa_backtrace_user() local
49 frame.pc = pc; in xtensa_backtrace_user()
50 frame.sp = a1; in xtensa_backtrace_user()
52 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user()
82 frame.pc = pc; in xtensa_backtrace_user()
83 frame.sp = a1; in xtensa_backtrace_user()
85 if (pc == 0 || pc >= TASK_SIZE || ufn(&frame, data)) in xtensa_backtrace_user()
119 frame.pc = pc; in xtensa_backtrace_user()
120 frame.sp = a1; in xtensa_backtrace_user()
[all …]
Dsignal.c135 setup_sigcontext(struct rt_sigframe __user *frame, struct pt_regs *regs) in setup_sigcontext() argument
137 struct sigcontext __user *sc = &frame->uc.uc_mcontext; in setup_sigcontext()
160 err |= __copy_to_user(&frame->xtregs.cp, &ti->xtregs_cp, in setup_sigcontext()
161 sizeof (frame->xtregs.cp)); in setup_sigcontext()
163 err |= __copy_to_user(&frame->xtregs.opt, &regs->xtregs_opt, in setup_sigcontext()
165 err |= __copy_to_user(&frame->xtregs.user, &ti->xtregs_user, in setup_sigcontext()
168 err |= __put_user(err ? NULL : &frame->xtregs, &sc->sc_xtregs); in setup_sigcontext()
174 restore_sigcontext(struct pt_regs *regs, struct rt_sigframe __user *frame) in restore_sigcontext() argument
176 struct sigcontext __user *sc = &frame->uc.uc_mcontext; in restore_sigcontext()
224 err |= __copy_from_user(&ti->xtregs_cp, &frame->xtregs.cp, in restore_sigcontext()
[all …]
/arch/x86/ia32/
Dia32_signal.c118 struct sigframe_ia32 __user *frame = (struct sigframe_ia32 __user *)(regs->sp-8); in sys32_sigreturn() local
121 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys32_sigreturn()
123 if (__get_user(set.sig[0], &frame->sc.oldmask) in sys32_sigreturn()
126 &frame->extramask, in sys32_sigreturn()
127 sizeof(frame->extramask)))) in sys32_sigreturn()
132 if (ia32_restore_sigcontext(regs, &frame->sc)) in sys32_sigreturn()
137 signal_fault(regs, frame, "32bit sigreturn"); in sys32_sigreturn()
144 struct rt_sigframe_ia32 __user *frame; in sys32_rt_sigreturn() local
147 frame = (struct rt_sigframe_ia32 __user *)(regs->sp - 4); in sys32_rt_sigreturn()
149 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in sys32_rt_sigreturn()
[all …]
/arch/openrisc/kernel/
Dsignal.c75 struct rt_sigframe *frame = (struct rt_sigframe __user *)regs->sp; in _sys_rt_sigreturn() local
83 if (((long)frame) & 3) in _sys_rt_sigreturn()
86 if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) in _sys_rt_sigreturn()
88 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) in _sys_rt_sigreturn()
93 if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) in _sys_rt_sigreturn()
96 if (restore_altstack(&frame->uc.uc_stack)) in _sys_rt_sigreturn()
158 struct rt_sigframe *frame; in setup_rt_frame() local
162 frame = get_sigframe(ksig, regs, sizeof(*frame)); in setup_rt_frame()
164 if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) in setup_rt_frame()
169 err |= copy_siginfo_to_user(&frame->info, &ksig->info); in setup_rt_frame()
[all …]
/arch/arc/include/asm/
Dunwind.h58 #define UNW_PC(frame) ((frame)->regs.r63) argument
59 #define UNW_SP(frame) ((frame)->regs.r28) argument
60 #define UNW_BLINK(frame) ((frame)->regs.r31) argument
64 #define UNW_FP(frame) ((frame)->regs.r27) argument
70 #define UNW_FP(frame) ((void)(frame), 0) argument
113 extern int arc_unwind(struct unwind_frame_info *frame);
146 #define UNW_PC(frame) ((void)(frame), 0) argument
147 #define UNW_SP(frame) ((void)(frame), 0) argument
148 #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(VERIFY_WRITE, 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/mips/oprofile/
Dbacktrace.c132 struct stackframe *frame, in do_user_backtrace() argument
138 while (depth-- && !unwind_user_frame(frame, max_instr_check)) { in do_user_backtrace()
139 oprofile_add_trace(frame->ra); in do_user_backtrace()
140 if (frame->sp < low_addr || frame->sp > high_addr) in do_user_backtrace()
147 struct stackframe *frame, in do_kernel_backtrace() argument
151 struct stackframe *frame, in do_kernel_backtrace() argument
154 while (depth-- && frame->pc) { in do_kernel_backtrace()
155 frame->pc = unwind_stack_by_address(low_addr, in do_kernel_backtrace()
156 &(frame->sp), in do_kernel_backtrace()
157 frame->pc, in do_kernel_backtrace()
[all …]

12345678910>>...13