Function report |
Source Code:arch\x86\kernel\unwind_frame.c |
Create Date:2022-07-28 08:51:30 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:unwind_next_frame
Proto:bool unwind_next_frame(struct unwind_state *state)
Type:bool
Parameter:
Type | Parameter | Name |
---|---|---|
struct unwind_state * | state |
265 | If unwind_done(state) Then Return false |
269 | If regs && ser_mode(regs) determines whether a register set came from user* mode Then Go to the_end |
272 | If is_last_task_frame(state) Then |
273 | regs = task_pt_regs(task) |
286 | If Not ser_mode(regs) determines whether a register set came from user* mode Then Go to the_end |
295 | bp = NULL |
296 | ip = 0 |
297 | Return true |
301 | If next_bp Then |
304 | Else if regs Then |
306 | Else |
311 | If Not update_stack_state(state, next_bp) Then Go to bad_address |
314 | Return true |
316 | bad_address : |
317 | error = true |
326 | If task != current process Then Go to the_end |
333 | If got_irq && in_entry_code(ip) Then Go to the_end |
335 | If regs && sp >= last_aligned_frame(state) && sp < task_pt_regs(task) Then Go to the_end |
344 | If IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_X86_32) Then Go to the_end |
347 | If regs Then |
348 | printk_deferred_once(warning conditions "WARNING: kernel stack regs at %p in %s:%d has bad 'bp' value %p\n", regs, * executable name, excluding path. * - normally initialized setup_new_exec() * - access it with [gs]et_task_comm() * - lock it with task_lock(), process id, next_bp) |
352 | unwind_dump(state) |
353 | Else |
354 | printk_deferred_once(warning conditions "WARNING: kernel stack frame pointer at %p in %s:%d has bad value %p\n", bp, * executable name, excluding path. * - normally initialized setup_new_exec() * - access it with [gs]et_task_comm() * - lock it with task_lock(), process id, next_bp) |
358 | unwind_dump(state) |
360 | the_end : |
361 | type = STACK_TYPE_UNKNOWN |
362 | Return false |
Name | Describe |
---|---|
show_trace_log_lvl | |
arch_stack_walk | |
arch_stack_walk_reliable | This function returns an error if it detects any unreliable features of the* stack. Otherwise it guarantees that the stack trace is reliable.* If the task is not 'current', the caller *must* ensure the task is inactive. |
__unwind_start |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |