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 437a74a7524a..d190664f25ff 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) | |||
| 2326 | kmemleak_scan_area(mod->trace_events, sizeof(*mod->trace_events) * | 2326 | kmemleak_scan_area(mod->trace_events, sizeof(*mod->trace_events) * |
| 2327 | mod->num_trace_events, GFP_KERNEL); | 2327 | mod->num_trace_events, GFP_KERNEL); |
| 2328 | #endif | 2328 | #endif |
| 2329 | #ifdef CONFIG_TRACING | ||
| 2330 | mod->trace_bprintk_fmt_start = section_objs(info, "__trace_printk_fmt", | ||
| 2331 | sizeof(*mod->trace_bprintk_fmt_start), | ||
| 2332 | &mod->num_trace_bprintk_fmt); | ||
| 2333 | /* | ||
| 2334 | * This section contains pointers to allocated objects in the trace | ||
| 2335 | * code and not scanning it leads to false positives. | ||
| 2336 | */ | ||
| 2337 | kmemleak_scan_area(mod->trace_bprintk_fmt_start, | ||
| 2338 | sizeof(*mod->trace_bprintk_fmt_start) * | ||
| 2339 | mod->num_trace_bprintk_fmt, GFP_KERNEL); | ||
| 2340 | #endif | ||
| 2329 | #ifdef CONFIG_FTRACE_MCOUNT_RECORD | 2341 | #ifdef CONFIG_FTRACE_MCOUNT_RECORD |
| 2330 | /* sechdrs[0].sh_size is always zero */ | 2342 | /* sechdrs[0].sh_size is always zero */ |
| 2331 | mod->ftrace_callsites = section_objs(info, "__mcount_loc", | 2343 | mod->ftrace_callsites = section_objs(info, "__mcount_loc", |
