From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751246AbdFCCBI (ORCPT ); Fri, 2 Jun 2017 22:01:08 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:34844 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751135AbdFCCBF (ORCPT ); Fri, 2 Jun 2017 22:01:05 -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 Subject: [PATCH v2 2/3] perf tools: Decompress kernel module when reading DSO data Date: Sat, 3 Jun 2017 11:00:32 +0900 Message-Id: <20170603020033.28677-2-namhyung@kernel.org> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170603020033.28677-1-namhyung@kernel.org> References: <20170603020033.28677-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 fc4747a8c283..77e5701e38b9 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[32]; + 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