From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754203AbbBET5b (ORCPT ); Thu, 5 Feb 2015 14:57:31 -0500 Received: from zeniv.linux.org.uk ([195.92.253.2]:49860 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752030AbbBET4m (ORCPT ); Thu, 5 Feb 2015 14:56:42 -0500 From: Al Viro To: Steven Rostedt Cc: linux-kernel@vger.kernel.org Subject: [RFC][PATCH 4/7] ftrace: switch matching to memcmp() and memmem() Date: Thu, 5 Feb 2015 19:56:37 +0000 Message-Id: <1423166200-1800-4-git-send-email-viro@ZenIV.linux.org.uk> X-Mailer: git-send-email 1.7.7.6 In-Reply-To: <20150205194914.GR29656@ZenIV.linux.org.uk> References: <20150205194914.GR29656@ZenIV.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Al Viro now we don't need the glob substring being matched to get NUL-terminated by filter_parse_regex() Signed-off-by: Al Viro --- kernel/trace/ftrace.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 9f90a4f..6cb104a 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -3365,24 +3365,26 @@ ftrace_notrace_open(struct inode *inode, struct file *file) static int ftrace_match(char *str, char *regex, int len, int type) { int matched = 0; - int slen; + int slen = strlen(str); + + if (slen < len) + return 0; switch (type) { case MATCH_FULL: - if (strcmp(str, regex) == 0) + if (slen == len && memcmp(str, regex, len) == 0) matched = 1; break; case MATCH_FRONT_ONLY: - if (strncmp(str, regex, len) == 0) + if (memcmp(str, regex, len) == 0) matched = 1; break; case MATCH_MIDDLE_ONLY: - if (strstr(str, regex)) + if (memmem(str, slen, regex, len)) matched = 1; break; case MATCH_END_ONLY: - slen = strlen(str); - if (slen >= len && memcmp(str + slen - len, regex, len) == 0) + if (memcmp(str + slen - len, regex, len) == 0) matched = 1; break; } -- 2.1.4