|
@@ -2326,6 +2326,18 @@ static void find_module_sections(struct module *mod, struct load_info *info)
|
|
|
kmemleak_scan_area(mod->trace_events, sizeof(*mod->trace_events) *
|
|
|
mod->num_trace_events, GFP_KERNEL);
|
|
|
#endif
|
|
|
+#ifdef CONFIG_TRACING
|
|
|
+ mod->trace_bprintk_fmt_start = section_objs(info, "__trace_printk_fmt",
|
|
|
+ sizeof(*mod->trace_bprintk_fmt_start),
|
|
|
+ &mod->num_trace_bprintk_fmt);
|
|
|
+ /*
|
|
|
+ * This section contains pointers to allocated objects in the trace
|
|
|
+ * code and not scanning it leads to false positives.
|
|
|
+ */
|
|
|
+ kmemleak_scan_area(mod->trace_bprintk_fmt_start,
|
|
|
+ sizeof(*mod->trace_bprintk_fmt_start) *
|
|
|
+ mod->num_trace_bprintk_fmt, GFP_KERNEL);
|
|
|
+#endif
|
|
|
#ifdef CONFIG_FTRACE_MCOUNT_RECORD
|
|
|
/* sechdrs[0].sh_size is always zero */
|
|
|
mod->ftrace_callsites = section_objs(info, "__mcount_loc",
|