From patchwork Fri Aug 25 02:39:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 13364941 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 14545C88CB2 for ; Fri, 25 Aug 2023 02:41:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:To:From:Subject:References:Mime-Version :Message-Id:In-Reply-To:Date:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rshaztl+4W2v2QIwjxuuuTeQ43o4je1FRUdksJyBF9I=; b=08I++EUlKo9X/B G8VyKojg8EZCaCcPe29SH8nLzBYmm5XCona9S+GodtReyIRBdqPnOLmKLFDRd3IDk4gf9aMpXQdam WLajxYXA/9A9B+CVi/zSt3zd36ZjnCwc/VxIQN1lZ5LhLaRBoZ/1fJJsM9nv6cAS2YIVOE5RXfru0 NguqsfcuC9Z58MKKXdPrRJM6c8GUp/9SMNbo+2mqGDnrXEfINHR0w6LRHVOlv6eF9wzEgkBiWctUi CGASx7SlaCAQQOlAy5YkXpEpGRNQ4nYLUVhHCvDCLxR2F+qmDlg+lCM/+FpN8rmBHm+z6DEqoO6Dl k8x14jrhVK3oWzzk9hCQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qZMkd-0048No-1h; Fri, 25 Aug 2023 02:40:43 +0000 Received: from mail-yw1-x1149.google.com ([2607:f8b0:4864:20::1149]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qZMkW-0048KY-0i for linux-arm-kernel@lists.infradead.org; Fri, 25 Aug 2023 02:40:37 +0000 Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-58d428d4956so7158047b3.0 for ; Thu, 24 Aug 2023 19:40:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1692931234; x=1693536034; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=6+zdRFvr84d+fBWt10B0hHI/TeqmfF3seVVv15ew7F8=; b=HZSXLXGkuLPKgBuf4pk6J10eXiT7nvHcO4Exh1bIycY3L3BPD0nK3nX5wfOGHMWkDv fOGkuKwMhGemx7niIQSm5B6O3bwh2/0NdB86qMH9C6emksooUVvhet30JMKyQh2/8Ftc uRM999s3VRcT4ThF81DOXn0sQrFYDM/V3skOcZ0TaZeTpqp6uJHBEixUnhOsv7YIB6vU WfbAcOLPK86fNr+Iv4agkDrrY71JNNbNgU+M3vOuMK4jKOGS0aIQzHZy5v952AFnwYgx C4e04r+BRwB9Ud6KpXJe+k2b6OlJ6QK9VdDzYDudMRI3FVJHzcA1nw71vUwAvb3I4dih +IGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692931234; x=1693536034; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6+zdRFvr84d+fBWt10B0hHI/TeqmfF3seVVv15ew7F8=; b=TY6t2U+VjqPm7IYvaztFdcQhT34K7jo8HivOMbHAFYFWxXdGjKtVQ+YnVcSO7sgjZx ZmpgClkO/R1Dxy+K7MzGM6kVNmQ2XfPS7jHyVGDmKYalG6fX39v/aOv+EZGk4efx/XuQ s7+58nkMT9gq5xKn3Wca/f6EfKV0Dkvb2Ay4lab7bEMYsHJZmOY7s2nOlTxukbsNGWtU 1M2aq4wKXSkiTlsQH6rrQ5NeMaLXqI3NKqezUUWvkj8l8wQ7DsaW+Sm8XppPK5glJVPP lgJwcxe6N6MCzGWIuZp1kKwt5vDgMPd7lskNRjYJij3w9qXxuYY7YYOOQ+5ovCDOLa6E 6iIg== X-Gm-Message-State: AOJu0YzR2kocnwuwTi6D1fKe9BtPWksJYqHnzS6q/K0CV04JtGLeRN75 tRP4XyUUlz44Ld4sadkQZ9L5O/Hxo7Kf X-Google-Smtp-Source: AGHT+IEzM4glBr+PazUhBNmMADT2m3Tq6v7cCwDbE9cQUy4ophVAFva8E+T9hCeg0cPS0+531uZjKd8AAFZM X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:449e:d47b:bc6b:cb6b]) (user=irogers job=sendgmr) by 2002:a25:aa06:0:b0:d15:d6da:7e97 with SMTP id s6-20020a25aa06000000b00d15d6da7e97mr319274ybi.3.1692931234631; Thu, 24 Aug 2023 19:40:34 -0700 (PDT) Date: Thu, 24 Aug 2023 19:39:59 -0700 In-Reply-To: <20230825024002.801955-1-irogers@google.com> Message-Id: <20230825024002.801955-4-irogers@google.com> Mime-Version: 1.0 References: <20230825024002.801955-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog Subject: [PATCH v2 3/6] perf parse-events: Make term's config const From: Ian Rogers To: John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Kan Liang , Ravi Bangoria , Suzuki Poulouse , Kajol Jain , Athira Rajeev , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Wei Li X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230824_194036_266989_31C97F09 X-CRM114-Status: GOOD ( 16.80 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This avoids casts in tests. Use zfree in a few places to avoid warnings about a freeing a const pointer. Signed-off-by: Ian Rogers --- tools/perf/tests/pmu.c | 18 +++++++++--------- tools/perf/util/parse-events.c | 10 +++++----- tools/perf/util/parse-events.h | 4 ++-- tools/perf/util/pmu.c | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/tools/perf/tests/pmu.c b/tools/perf/tests/pmu.c index c204ed1f1a8b..eb60e5f66859 100644 --- a/tools/perf/tests/pmu.c +++ b/tools/perf/tests/pmu.c @@ -28,55 +28,55 @@ static struct test_format { /* Simulated users input. */ static struct parse_events_term test_terms[] = { { - .config = (char *) "krava01", + .config = "krava01", .val.num = 15, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, }, { - .config = (char *) "krava02", + .config = "krava02", .val.num = 170, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, }, { - .config = (char *) "krava03", + .config = "krava03", .val.num = 1, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, }, { - .config = (char *) "krava11", + .config = "krava11", .val.num = 27, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, }, { - .config = (char *) "krava12", + .config = "krava12", .val.num = 1, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, }, { - .config = (char *) "krava13", + .config = "krava13", .val.num = 2, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, }, { - .config = (char *) "krava21", + .config = "krava21", .val.num = 119, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, }, { - .config = (char *) "krava22", + .config = "krava22", .val.num = 11, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, }, { - .config = (char *) "krava23", + .config = "krava23", .val.num = 2, .type_val = PARSE_EVENTS__TERM_TYPE_NUM, .type_term = PARSE_EVENTS__TERM_TYPE_USER, diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index 621bdd157a0f..4c812fbe0cf9 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -199,7 +199,7 @@ static void fix_raw(struct list_head *config_terms, struct perf_pmu *pmu) continue; if (perf_pmu__have_event(pmu, term->val.str)) { - free(term->config); + zfree(&term->config); term->config = term->val.str; term->type_val = PARSE_EVENTS__TERM_TYPE_NUM; term->type_term = PARSE_EVENTS__TERM_TYPE_USER; @@ -208,7 +208,7 @@ static void fix_raw(struct list_head *config_terms, struct perf_pmu *pmu) continue; } - free(term->config); + zfree(&term->config); term->config = strdup("config"); errno = 0; num = strtoull(term->val.str + 1, NULL, 16); @@ -1416,7 +1416,7 @@ int parse_events_multi_pmu_add(struct parse_events_state *parse_state, struct perf_pmu *pmu = NULL; YYLTYPE *loc = loc_; int ok = 0; - char *config; + const char *config; *listp = NULL; @@ -1435,7 +1435,7 @@ int parse_events_multi_pmu_add(struct parse_events_state *parse_state, PARSE_EVENTS__TERM_TYPE_USER, config, 1, false, NULL, NULL) < 0) { - free(config); + zfree(&config); goto out_err; } list_add_tail(&term->list, head); @@ -2378,7 +2378,7 @@ static int new_term(struct parse_events_term **_term, } int parse_events_term__num(struct parse_events_term **term, - int type_term, char *config, u64 num, + int type_term, const char *config, u64 num, bool no_value, void *loc_term_, void *loc_val_) { diff --git a/tools/perf/util/parse-events.h b/tools/perf/util/parse-events.h index c4e8d8e94b28..6d75d853ce00 100644 --- a/tools/perf/util/parse-events.h +++ b/tools/perf/util/parse-events.h @@ -83,7 +83,7 @@ enum { }; struct parse_events_term { - char *config; + const char *config; union { char *str; u64 num; @@ -138,7 +138,7 @@ bool parse_events__filter_pmu(const struct parse_events_state *parse_state, void parse_events__shrink_config_terms(void); int parse_events__is_hardcoded_term(struct parse_events_term *term); int parse_events_term__num(struct parse_events_term **term, - int type_term, char *config, u64 num, + int type_term, const char *config, u64 num, bool novalue, void *loc_term, void *loc_val); int parse_events_term__str(struct parse_events_term **term, diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index a96ccc5c3b51..eb42f9830be7 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -1418,7 +1418,7 @@ static struct perf_pmu_alias *pmu_find_alias(struct perf_pmu *pmu, struct parse_events_term *term) { struct perf_pmu_alias *alias; - char *name; + const char *name; if (parse_events__is_hardcoded_term(term)) return NULL;