From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752471AbbIBGJm (ORCPT ); Wed, 2 Sep 2015 02:09:42 -0400 Received: from szxga02-in.huawei.com ([119.145.14.65]:30573 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751233AbbIBGJl (ORCPT ); Wed, 2 Sep 2015 02:09:41 -0400 Message-ID: <55E69289.8090204@huawei.com> Date: Wed, 2 Sep 2015 14:09:13 +0800 From: "Wangnan (F)" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: =?UTF-8?B?5bmz5p2+6ZuF5bezIC8gSElSQU1BVFXvvIxNQVNBTUk=?= , "acme@redhat.com" CC: "linux-kernel@vger.kernel.org" , "Alexei Starovoitov" , Jiri Olsa , Namhyung Kim , Zefan Li , "pi3orama@163.com" Subject: Re: [PATCH] perf tools: Don't set leader if parser doesn't collect an evsel References: <1440822125-52691-3-git-send-email-wangnan0@huawei.com> <1441162427-114014-1-git-send-email-wangnan0@huawei.com> <50399556C9727B4D88A595C8584AAB37525027C2@GSjpTKYDCembx32.service.hitachi.net> In-Reply-To: <50399556C9727B4D88A595C8584AAB37525027C2@GSjpTKYDCembx32.service.hitachi.net> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.111.66.109] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2015/9/2 13:57, 平松雅巳 / HIRAMATU,MASAMI wrote: >> From: Wang Nan [mailto:wangnan0@huawei.com] >> >> Similar to patch 'perf tools: Don't set cmdline_group_boundary if no >> evsel is collected', in case when parser collects no evsel (at this >> point it shouldn't happen), parse_events__set_leader() is not safe. >> >> This patch checks list_empty becore calling __perf_evlist__set_leader() >> for safty reason. >> >> Signed-off-by: Wang Nan >> Cc: Arnaldo Carvalho de Melo >> Cc: Alexei Starovoitov >> Cc: Jiri Olsa >> Cc: Masami Hiramatsu >> Cc: Namhyung Kim >> Cc: Zefan Li >> Cc: pi3orama@163.com >> --- >> >> I'd like to queue this patch into my next pull request. Since it is not >> a real bug, it may be dropped. >> >> --- >> tools/perf/util/parse-events.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c >> index f2c0317..836d226 100644 >> --- a/tools/perf/util/parse-events.c >> +++ b/tools/perf/util/parse-events.c >> @@ -793,6 +793,9 @@ void parse_events__set_leader(char *name, struct list_head *list) >> { >> struct perf_evsel *leader; >> >> + if (list_empty(list)) > Would we need to warn/debug something here? OK, let's add a WARN message here and other 2 places. Thank you. > Thank you, > >> + return; >> + >> __perf_evlist__set_leader(list); >> leader = list_entry(list->next, struct perf_evsel, node); >> leader->group_name = name ? strdup(name) : NULL; >> -- >> 1.8.3.4