|
@@ -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))
|