From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754718AbbBFEA7 (ORCPT ); Thu, 5 Feb 2015 23:00:59 -0500 Received: from zeniv.linux.org.uk ([195.92.253.2]:51297 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753305AbbBFEAR (ORCPT ); Thu, 5 Feb 2015 23:00:17 -0500 From: Al Viro To: Steven Rostedt Cc: linux-kernel@vger.kernel.org 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 Message-Id: <1423195215-25134-1-git-send-email-viro@ZenIV.linux.org.uk> X-Mailer: git-send-email 1.7.7.6 In-Reply-To: <20150205224632.GW29656@ZenIV.linux.org.uk> References: <20150205224632.GW29656@ZenIV.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Al Viro For patterns starting with '*' we need to match against 'search', not 'glob'. Signed-off-by: Al Viro --- 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