From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC13DC38A2D for ; Wed, 26 Oct 2022 07:28:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232727AbiJZH2a (ORCPT ); Wed, 26 Oct 2022 03:28:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57514 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231649AbiJZH23 (ORCPT ); Wed, 26 Oct 2022 03:28:29 -0400 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C119B8C15; Wed, 26 Oct 2022 00:28:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666769308; x=1698305308; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=BtdY9zOLzOchXhwl2IJHG9U9vbffqPHfgouauBD7/4c=; b=GWMixoIruoNS9N8IkSPrcMzV8z0sSp//IiJDvz3CTRj8suroGj6mNzIH D86o6/XGvbFYAOLXmT4Z9vcvROkURb9gwei9Pp8QXQJBwNLJYpuH2++VJ LAaEEOKLsleAWaKTbJvnddbzHe186v7Cko3D9pPbjfto3FMy80J67qX9k /oMDgJwNbqHH6Ga40K2xqq8lPUCEJNA3TQSexMwS1unUMEmYqgFnFnyfM zeBveBXI8Unj7GwANEI4xBgpXzzzQJcObtGgxNoAnl5n7sFDhLP3tj1tR n5Jt5g3Q89e0xEeDGr7kwLKrAj5XNWO0N8yZXUnLB1llaVzMRBgQvHnbZ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10511"; a="307876250" X-IronPort-AV: E=Sophos;i="5.95,214,1661842800"; d="scan'208";a="307876250" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Oct 2022 00:28:06 -0700 X-IronPort-AV: E=McAfee;i="6500,9779,10511"; a="806949236" X-IronPort-AV: E=Sophos;i="5.95,213,1661842800"; d="scan'208";a="806949236" Received: from ahunter6-mobl1.ger.corp.intel.com (HELO ahunter-VirtualBox.home\044ger.corp.intel.com) ([10.252.53.127]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Oct 2022 00:27:48 -0700 From: Adrian Hunter To: Arnaldo Carvalho de Melo Cc: Jiri Olsa , Namhyung Kim , Ian Rogers , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org Subject: [PATCH] perf auxtrace: Fix address filter symbol name match for modules Date: Wed, 26 Oct 2022 10:27:36 +0300 Message-Id: <20221026072736.2982-1-adrian.hunter@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-perf-users@vger.kernel.org For modules, names from kallsyms__parse() contain the module name which meant that module symbols did not match exactly by name. Fix by matching the name string up to the separating tab character. Fixes: 1b36c03e3569 ("perf record: Add support for using symbols in address filters") Cc: stable@vger.kernel.org Signed-off-by: Adrian Hunter --- tools/perf/util/auxtrace.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c index b59c278fe9ed..c50eb2bfc518 100644 --- a/tools/perf/util/auxtrace.c +++ b/tools/perf/util/auxtrace.c @@ -2321,11 +2321,19 @@ struct sym_args { bool near; }; +static bool kern_sym_name_match(const char *kname, const char *name) +{ + size_t n = strlen(name); + + return !strcmp(kname, name) || + (!strncmp(kname, name, n) && kname[n] == '\t'); +} + static bool kern_sym_match(struct sym_args *args, const char *name, char type) { /* A function with the same name, and global or the n'th found or any */ return kallsyms__is_function(type) && - !strcmp(name, args->name) && + kern_sym_name_match(name, args->name) && ((args->global && isupper(type)) || (args->selected && ++(args->cnt) == args->idx) || (!args->global && !args->selected)); -- 2.34.1