函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\bug.c Create Date:2022-07-27 07:15:20
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:report_bug

函数原型:enum bug_trap_type report_bug(unsigned long bugaddr, struct pt_regs *regs)

返回类型:enum bug_trap_type

参数:

类型参数名称
unsigned longbugaddr
struct pt_regs *regs
149  如果非is_valid_bugaddr(bugaddr)则返回:BUG_TRAP_TYPE_NONE
152  bug等于find_bug(bugaddr)
153  如果非bug则返回:BUG_TRAP_TYPE_NONE
156  file = NULL
157  line等于0
158  warning等于0
160  如果bug
169  warning等于flags按位与BUGFLAG_WARNING的值不等于0
170  once等于flags按位与BUGFLAG_ONCE的值不等于0
171  done等于flags按位与BUGFLAG_DONE的值不等于0
173  如果warningonce
174  如果done则返回:BUG_TRAP_TYPE_WARN
180  flags或等于BUGFLAG_DONE
190  如果flags按位与BUGFLAG_NO_CUT_HERE的值恒等于0则printk(he default kernel loglevel CUT_HERE)
193  如果warning
195  __warn(file, line, (void * )bugaddr, BUG_GET_TAINT(bug), regs, NULL)
197  返回:BUG_TRAP_TYPE_WARN
200  如果file打印错误信息("kernel BUG at %s:%u!\n", file, line)
202  否则打印错误信息("Kernel BUG at %pB [verbose debug info unavailable]\n", (void * )bugaddr)
206  返回:BUG_TRAP_TYPE_BUG
调用者
名称描述
fixup_bug