summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/trace/ftrace.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 9abaaf46f212..5b758ea344ce 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1743,6 +1743,15 @@ static int ftrace_match(char *str, char *regex, int len, int type)
return matched;
}
+static void
+update_record(struct dyn_ftrace *rec, unsigned long flag, int not)
+{
+ if (not)
+ rec->flags &= ~flag;
+ else
+ rec->flags |= flag;
+}
+
static int
ftrace_match_record(struct dyn_ftrace *rec, char *regex, int len, int type)
{
@@ -1772,10 +1781,7 @@ static int ftrace_match_records(char *buff, int len, int enable)
do_for_each_ftrace_rec(pg, rec) {
if (ftrace_match_record(rec, search, search_len, type)) {
- if (not)
- rec->flags &= ~flag;
- else
- rec->flags |= flag;
+ update_record(rec, flag, not);
found = 1;
}
/*
@@ -1846,10 +1852,7 @@ static int ftrace_match_module_records(char *buff, char *mod, int enable)
if (ftrace_match_module_record(rec, mod,
search, search_len, type)) {
- if (not)
- rec->flags &= ~flag;
- else
- rec->flags |= flag;
+ update_record(rec, flag, not);
found = 1;
}
if (enable && (rec->flags & FTRACE_FL_FILTER))