diff --git a/[refs] b/[refs] index d58f8b7cc833..25eee0fcc0d4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b17e8a37a13d0e87165054714434534bb7e69f2d +refs/heads/master: 918c115410c6cc57033835b6a401e57697f9ea4f diff --git a/trunk/kernel/trace/ftrace.c b/trunk/kernel/trace/ftrace.c index d5bd21f39524..3940c71ac2a2 100644 --- a/trunk/kernel/trace/ftrace.c +++ b/trunk/kernel/trace/ftrace.c @@ -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 */