From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932413AbaCEOiJ (ORCPT ); Wed, 5 Mar 2014 09:38:09 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:41694 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932341AbaCEOh7 (ORCPT ); Wed, 5 Mar 2014 09:37:59 -0500 From: Luis Henriques To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, kernel-team@lists.ubuntu.com Cc: Jiri Olsa , Corey Ashford , Frederic Weisbecker , Ingo Molnar , Joel Uckelman , Paul Mackerras , Peter Zijlstra , Arnaldo Carvalho de Melo , Vinson Lee , Luis Henriques Subject: [PATCH 3.5 28/62] perf tools: Fix cache event name generation Date: Wed, 5 Mar 2014 14:36:32 +0000 Message-Id: <1394030226-26652-29-git-send-email-luis.henriques@canonical.com> X-Mailer: git-send-email 1.9.0 In-Reply-To: <1394030226-26652-1-git-send-email-luis.henriques@canonical.com> References: <1394030226-26652-1-git-send-email-luis.henriques@canonical.com> X-Extended-Stable: 3.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.5.7.32 -stable review patch. If anyone has any objections, please let me know. ------------------ From: Jiri Olsa commit 275ef3878f698941353780440fec6926107a320b upstream. If the event name is specified with all 3 components, the last one overwrites the previous one during the name composing within the parse_events_add_cache function. Fixing this by properly adjusting the string index. Reported-by: Joel Uckelman Signed-off-by: Jiri Olsa Cc: Corey Ashford Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Joel Uckelman Cc: Paul Mackerras Cc: Peter Zijlstra LPU-Reference: 20120905175133.GA18352@krava.brq.redhat.com [ committer note: Remove the newline fix, done already in 42e1fb7 ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Vinson Lee Signed-off-by: Luis Henriques --- tools/perf/util/parse-events.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index d2006bd..5f99cec 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -420,7 +420,7 @@ int parse_events_add_cache(struct list_head **list, int *idx, for (i = 0; (i < 2) && (op_result[i]); i++) { char *str = op_result[i]; - snprintf(name + n, MAX_NAME_LEN - n, "-%s", str); + n += snprintf(name + n, MAX_NAME_LEN - n, "-%s", str); if (cache_op == -1) { cache_op = parse_aliases(str, hw_cache_op, -- 1.9.0