From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750936AbdBBCnI (ORCPT ); Wed, 1 Feb 2017 21:43:08 -0500 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:58220 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750737AbdBBCnG (ORCPT ); Wed, 1 Feb 2017 21:43:06 -0500 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: namhyung@kernel.org X-Original-SENDERIP: 10.177.227.17 X-Original-MAILFROM: namhyung@kernel.org Date: Thu, 2 Feb 2017 11:43:03 +0900 From: Namhyung Kim To: Arnaldo Carvalho de Melo Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML Subject: Re: [PATCH 1/2] perf diff: Fix segfault on perf diff -o N option Message-ID: <20170202024303.GD12990@sejong> References: <20170118051457.30946-1-namhyung@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20170118051457.30946-1-namhyung@kernel.org> User-Agent: Mutt/1.7.2 (2016-11-26) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnaldo, Could you please consider merging it to the perf/urgent? Thanks, Namhyung On Wed, Jan 18, 2017 at 02:14:56PM +0900, Namhyung Kim wrote: > The -o/--order option is to select column number to sort a diff result. > It does the job by adding a hpp field at the beginning of the sort list. > But it should not be added to the output field list as it has no > callbacks required by a output field. > > During the setup_sorting(), the perf_hpp__setup_output_field() appends > given sort keys to the output field if it's not there already. > > Originally it was checked by the fmt->list being non-empty. But commit > 3f931f2c4274 changed it to check the ->equal callback. Anyway we don't > need to add the pseudo hpp field to the output field list since it won't > be used for output. So just skip fields if they have no ->color or > ->entry callbacks. > > Fixes: 3f931f2c4274 ("perf hists: Make hpp setup function generic") > Signed-off-by: Namhyung Kim > --- > tools/perf/ui/hist.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c > index 37388397b5bc..4ec79b2f9416 100644 > --- a/tools/perf/ui/hist.c > +++ b/tools/perf/ui/hist.c > @@ -560,6 +560,10 @@ void perf_hpp__setup_output_field(struct perf_hpp_list *list) > perf_hpp_list__for_each_sort_list(list, fmt) { > struct perf_hpp_fmt *pos; > > + /* skip sort-only fields ("sort_compute" in perf diff) */ > + if (!fmt->entry && !fmt->color) > + continue; > + > perf_hpp_list__for_each_format(list, pos) { > if (fmt_equal(fmt, pos)) > goto next; > -- > 2.11.0 >