ftrace: do not process freed records
[pandora-kernel.git] / kernel / trace / ftrace.c
index d5bd21f..3940c71 100644 (file)
@@ -488,8 +488,12 @@ static void ftrace_replace_code(int enable)
                for (i = 0; i < pg->index; i++) {
                        rec = &pg->records[i];
 
-                       /* don't modify code that has already faulted */
-                       if (rec->flags & FTRACE_FL_FAILED)
+                       /*
+                        * Skip over free records and records that have
+                        * failed.
+                        */
+                       if (rec->flags & FTRACE_FL_FREE ||
+                           rec->flags & FTRACE_FL_FAILED)
                                continue;
 
                        /* ignore updates to this record's mcount site */