]> Git Repo - linux.git/commitdiff
ftrace: allow NULL pointers in mcount_loc
authorSteven Rostedt <[email protected]>
Sat, 15 Nov 2008 00:21:19 +0000 (16:21 -0800)
committerIngo Molnar <[email protected]>
Sun, 16 Nov 2008 06:36:42 +0000 (07:36 +0100)
Impact: make ftrace_convert_nops() more permissive

Due to the way different architecture linkers combine the data sections
of the mcount_loc (the section that lists all the locations that
call mcount), there may be zeros added in that section. This is usually
due to strange alignments that the linker performs, that pads in zeros.

This patch makes the conversion code to nops skip any pointer in
the mcount_loc section that is NULL.

Signed-off-by: Steven Rostedt <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
kernel/trace/ftrace.c

index e9a5fbfce08e5a25931b2954c26c490b37d3ddea..cc4219135dc97261eea7f45456809a4d3bd6045b 100644 (file)
@@ -1304,6 +1304,14 @@ static int ftrace_convert_nops(struct module *mod,
        p = start;
        while (p < end) {
                addr = ftrace_call_adjust(*p++);
+               /*
+                * Some architecture linkers will pad between
+                * the different mcount_loc sections of different
+                * object files to satisfy alignments.
+                * Skip any NULL pointers.
+                */
+               if (!addr)
+                       continue;
                ftrace_record_ip(addr);
        }
 
This page took 0.05706 seconds and 4 git commands to generate.