• Home
  • Raw
  • Download

Lines Matching refs:state

26 static inline void unwind_init_from_regs(struct unwind_state *state,  in unwind_init_from_regs()  argument
29 unwind_init_common(state, current); in unwind_init_from_regs()
31 state->fp = regs->regs[29]; in unwind_init_from_regs()
32 state->pc = regs->pc; in unwind_init_from_regs()
43 static __always_inline void unwind_init_from_caller(struct unwind_state *state) in unwind_init_from_caller() argument
45 unwind_init_common(state, current); in unwind_init_from_caller()
47 state->fp = (unsigned long)__builtin_frame_address(1); in unwind_init_from_caller()
48 state->pc = (unsigned long)__builtin_return_address(0); in unwind_init_from_caller()
61 static inline void unwind_init_from_task(struct unwind_state *state, in unwind_init_from_task() argument
64 unwind_init_common(state, task); in unwind_init_from_task()
66 state->fp = thread_saved_fp(task); in unwind_init_from_task()
67 state->pc = thread_saved_pc(task); in unwind_init_from_task()
102 static int notrace unwind_next(struct unwind_state *state) in unwind_next() argument
104 struct task_struct *tsk = state->task; in unwind_next()
105 unsigned long fp = state->fp; in unwind_next()
113 err = unwind_next_common(state, &info, on_accessible_stack, NULL); in unwind_next()
117 state->pc = ptrauth_strip_insn_pac(state->pc); in unwind_next()
121 (state->pc == (unsigned long)return_to_handler)) { in unwind_next()
129 orig_pc = ftrace_graph_ret_addr(tsk, NULL, state->pc, in unwind_next()
130 (void *)state->fp); in unwind_next()
131 if (WARN_ON_ONCE(state->pc == orig_pc)) in unwind_next()
133 state->pc = orig_pc; in unwind_next()
141 static void notrace unwind(struct unwind_state *state, in unwind() argument
147 if (!consume_entry(cookie, state->pc)) in unwind()
149 ret = unwind_next(state); in unwind()
194 struct unwind_state state; in arch_stack_walk() local
199 unwind_init_from_regs(&state, regs); in arch_stack_walk()
201 unwind_init_from_caller(&state); in arch_stack_walk()
203 unwind_init_from_task(&state, task); in arch_stack_walk()
206 unwind(&state, consume_entry, cookie); in arch_stack_walk()