ANDROID: bug: add vendor hook for bug trap
Add hook to gather data of bug trap and summarize it with other information. Bug: 222638752 Signed-off-by: Sangmoon Kim <sangmoon.kim@samsung.com> Change-Id: I1f347c20629786f9bf0b9c50c7f96b50b4360504
This commit is contained in:
@@ -45,6 +45,7 @@
|
||||
#include <trace/hooks/logbuf.h>
|
||||
#include <trace/hooks/remoteproc.h>
|
||||
#include <trace/hooks/hung_task.h>
|
||||
#include <trace/hooks/bug.h>
|
||||
|
||||
/*
|
||||
* Export tracepoints that act as a bare tracehook (ie: have no trace event
|
||||
@@ -225,3 +226,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_util_est_update);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_setscheduler_uclamp);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_report_bug);
|
||||
|
||||
17
include/trace/hooks/bug.h
Normal file
17
include/trace/hooks/bug.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#undef TRACE_SYSTEM
|
||||
#define TRACE_SYSTEM bug
|
||||
#define TRACE_INCLUDE_PATH trace/hooks
|
||||
|
||||
#if !defined(_TRACE_HOOK_BUG_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_HOOK_BUG_H
|
||||
#include <linux/tracepoint.h>
|
||||
#include <trace/hooks/vendor_hooks.h>
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_report_bug,
|
||||
TP_PROTO(const char *file, unsigned int line, unsigned long bugaddr),
|
||||
TP_ARGS(file, line, bugaddr), 1);
|
||||
|
||||
#endif /* _TRACE_HOOK_BUG_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
@@ -49,6 +49,8 @@
|
||||
#include <linux/rculist.h>
|
||||
#include <linux/ftrace.h>
|
||||
|
||||
#include <trace/hooks/bug.h>
|
||||
|
||||
extern struct bug_entry __start___bug_table[], __stop___bug_table[];
|
||||
|
||||
static inline unsigned long bug_addr(const struct bug_entry *bug)
|
||||
@@ -207,6 +209,8 @@ enum bug_trap_type report_bug(unsigned long bugaddr, struct pt_regs *regs)
|
||||
pr_crit("Kernel BUG at %pB [verbose debug info unavailable]\n",
|
||||
(void *)bugaddr);
|
||||
|
||||
trace_android_rvh_report_bug(file, line, bugaddr);
|
||||
|
||||
return BUG_TRAP_TYPE_BUG;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user