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 |