From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751559AbdFGPjm (ORCPT ); Wed, 7 Jun 2017 11:39:42 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:33745 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751538AbdFGPjk (ORCPT ); Wed, 7 Jun 2017 11:39:40 -0400 From: Namhyung Kim To: Arnaldo Carvalho de Melo Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , kernel-team@lge.com, David Ahern , Adrian Hunter , Wang Nan Subject: [PATCH v3 3/6] perf tools: Decompress kernel module when reading DSO data Date: Thu, 8 Jun 2017 00:39:00 +0900 Message-Id: <20170607153903.1114-4-namhyung@kernel.org> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170607153903.1114-1-namhyung@kernel.org> References: <20170607153903.1114-1-namhyung@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently perf decompresses kernel modules when loading symbol table but it missed to do it when reading raw data. Signed-off-by: Namhyung Kim --- tools/perf/util/dso.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c index 59257ce4580e..2a0c689227f8 100644 --- a/tools/perf/util/dso.c +++ b/tools/perf/util/dso.c @@ -463,8 +463,22 @@ static int __open_dso(struct dso *dso, struct machine *machine) return -EINVAL; } - if (!is_regular_file(name)) + if (!is_regular_file(name)) { + free(name); return -EINVAL; + } + + if (dso__needs_decompress(dso)) { + char newpath[KMOD_DECOMP_LEN]; + size_t len = sizeof(newpath); + + if (dso__decompress_kmodule_path(dso, name, newpath, len) < 0) { + free(name); + return -1; + } + + strcpy(name, newpath); + } fd = do_open(name); free(name); -- 2.13.0