函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\unwind_frame.c Create Date:2022-07-27 09:50:44
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:update_stack_state

函数原型:static bool update_stack_state(struct unwind_state *state, unsigned long *next_bp)

返回类型:bool

参数:

类型参数名称
struct unwind_state *state
unsigned long *next_bp
195  info等于stack_info
196  prev_type等于type
201  如果regsprev_frame_end等于regsregs的长度
203  否则prev_frame_end等于bpFRAME_HEADER_SIZE
207  regs等于This determines if the frame pointer actually contains an encoded pointer to* pt_regs on the stack. See ENCODE_FRAME_POINTER.
208  如果regs
209  frame等于regs
210  len等于regs的长度
211  got_irq = true
212  否则
213  frame等于next_bp
214  len等于FRAME_HEADER_SIZE
224  当非on_stack(info, frame, len)循环
225  如果get_stack_info(next_sp, task, info, & stack_mask)则返回:false
230  如果orig_sptype恒等于prev_typeframe小于prev_frame_end则返回:false
235  如果regs
236  regs等于regs
237  bp = NULL
238  否则
239  bp等于next_bp
240  regs = NULL
244  如果regsser_mode(regs) determines whether a register set came from user* modeip等于0
246  否则
247  addr_p等于unwind_get_return_address_ptr(state)
248  addr等于This disables KASAN checking when reading a value from another task's stack,* since the other task could be running on another CPU and could have poisoned* the stack in the meantime.(task, * addr_p)
249  ip等于ftrace_graph_ret_addr(task, & graph_idx, addr, addr_p)
254  如果非orig_sporig_sp等于frame
257  返回:true
调用者
名称描述
unwind_next_frame
__unwind_start