diff options
Diffstat (limited to 'kernel/module.c')
| -rw-r--r-- | kernel/module.c | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/kernel/module.c b/kernel/module.c index 437a74a7524..d190664f25f 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -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", | 
