From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932647AbcGHPVG (ORCPT ); Fri, 8 Jul 2016 11:21:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34819 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932536AbcGHPVC (ORCPT ); Fri, 8 Jul 2016 11:21:02 -0400 Date: Fri, 8 Jul 2016 17:21:00 +0200 From: Jiri Olsa To: Song Shan Gong Cc: acme@kernel.org, jolsa@kernel.org, dsahern@gmail.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH] [RFC V1]s390/perf: fix 'start' address of module's map Message-ID: <20160708152100.GJ31763@krava> References: <1467856176-8712-1-git-send-email-gongss@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1467856176-8712-1-git-send-email-gongss@linux.vnet.ibm.com> User-Agent: Mutt/1.6.1 (2016-04-27) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 08 Jul 2016 15:21:02 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 07, 2016 at 09:49:36AM +0800, Song Shan Gong wrote: SNIP > + hex2u64(sep + 1, &text_start); > + > + *start = text_start; > +out: > + free(line); > + fclose(file); > + free(module_name - 1); > + return err; > +} > diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c > index b177218..e5c2721 100644 > --- a/tools/perf/util/machine.c > +++ b/tools/perf/util/machine.c > @@ -1091,12 +1091,18 @@ static int machine__set_modules_path(struct machine *machine) > > return map_groups__set_modules_path_dir(&machine->kmaps, modules_path, 0); > } > +int __weak arch__fix_module_baseaddr(struct machine *machine __maybe_unused, > + u64 *start __maybe_unused, const char *name __maybe_unused) > +{ > + return 0; > +} > > static int machine__create_module(void *arg, const char *name, u64 start) > { > struct machine *machine = arg; > struct map *map; > > + arch__fix_module_baseaddr(machine, &start, name); you should check for its return value and fail if needed jirka