Lines Matching refs:bug
54 static inline unsigned long bug_addr(const struct bug_entry *bug) in bug_addr() argument
57 return (unsigned long)&bug->bug_addr_disp + bug->bug_addr_disp; in bug_addr()
59 return bug->bug_addr; in bug_addr()
69 struct bug_entry *bug; in module_find_bug() local
76 bug = mod->bug_table; in module_find_bug()
77 for (i = 0; i < mod->num_bugs; ++i, ++bug) in module_find_bug()
78 if (bugaddr == bug_addr(bug)) in module_find_bug()
79 return bug; in module_find_bug()
126 void bug_get_file_line(struct bug_entry *bug, const char **file, in bug_get_file_line() argument
131 *file = (const char *)&bug->file_disp + bug->file_disp; in bug_get_file_line()
133 *file = bug->file; in bug_get_file_line()
135 *line = bug->line; in bug_get_file_line()
142 static const char *bug_get_format(struct bug_entry *bug) in bug_get_format() argument
154 if (bug->format_disp) in bug_get_format()
155 format = (const char *)&bug->format_disp + bug->format_disp; in bug_get_format()
159 format = bug->format; in bug_get_format()
167 struct bug_entry *bug; in find_bug() local
169 for (bug = __start___bug_table; bug < __stop___bug_table; ++bug) in find_bug()
170 if (bugaddr == bug_addr(bug)) in find_bug()
171 return bug; in find_bug()
200 static enum bug_trap_type __report_bug(struct bug_entry *bug, unsigned long bugaddr, struct pt_regs… in __report_bug() argument
206 if (!bug) { in __report_bug()
210 bug = find_bug(bugaddr); in __report_bug()
211 if (!bug) in __report_bug()
217 bug_get_file_line(bug, &file, &line); in __report_bug()
218 fmt = bug_get_format(bug); in __report_bug()
220 warning = bug->flags & BUGFLAG_WARNING; in __report_bug()
221 once = bug->flags & BUGFLAG_ONCE; in __report_bug()
222 done = bug->flags & BUGFLAG_DONE; in __report_bug()
223 no_cut = bug->flags & BUGFLAG_NO_CUT_HERE; in __report_bug()
224 has_args = bug->flags & BUGFLAG_ARGS; in __report_bug()
233 bug->flags |= BUGFLAG_DONE; in __report_bug()
249 __warn(file, line, (void *)bugaddr, BUG_GET_TAINT(bug), regs, in __report_bug()
263 enum bug_trap_type report_bug_entry(struct bug_entry *bug, struct pt_regs *regs) in report_bug_entry() argument
269 ret = __report_bug(bug, bug_addr(bug), regs); in report_bug_entry()
289 struct bug_entry *bug; in clear_once_table() local
291 for (bug = start; bug < end; bug++) in clear_once_table()
292 bug->flags &= ~BUGFLAG_DONE; in clear_once_table()