Messages in this thread Patch in this message | | | From | Al Viro <> | Subject | [RFC][PATCH v2 1/7] trace: fix the glob match in __unregister_ftrace_function_probe() | Date | Fri, 6 Feb 2015 04:00:09 +0000 |
| |
From: Al Viro <viro@zeniv.linux.org.uk>
For patterns starting with '*' we need to match against 'search', not 'glob'.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> --- kernel/trace/ftrace.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 224e768..67ecd14 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -3761,12 +3761,10 @@ __unregister_ftrace_function_probe(char *glob, struct ftrace_probe_ops *ops, char str[KSYM_SYMBOL_LEN]; int type = MATCH_FULL; int i, len = 0; - char *search; + char *search = NULL; int ret; - if (glob && (strcmp(glob, "*") == 0 || !strlen(glob))) - glob = NULL; - else if (glob) { + if (glob && *glob && strcmp(glob, "*") != 0) { int not; type = filter_parse_regex(glob, strlen(glob), &search, ¬); @@ -3799,10 +3797,10 @@ __unregister_ftrace_function_probe(char *glob, struct ftrace_probe_ops *ops, continue; /* do this last, since it is the most expensive */ - if (glob) { + if (search) { kallsyms_lookup(entry->ip, NULL, NULL, NULL, str); - if (!ftrace_match(str, glob, len, type)) + if (!ftrace_match(str, search, len, type)) continue; } -- 2.1.4
| |