Received: by 10.192.165.156 with SMTP id m28csp1106748imm; Wed, 11 Apr 2018 12:32:25 -0700 (PDT) X-Google-Smtp-Source: AIpwx48YsheQ7ovUVZGM0LXTqbNXw6FpQjeYtWaqxcfU3A+z/pU7pegcXwlA/SME640aGXnHhBI0 X-Received: by 10.99.170.70 with SMTP id x6mr4421312pgo.114.1523475145226; Wed, 11 Apr 2018 12:32:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523475145; cv=none; d=google.com; s=arc-20160816; b=hBKCCCGws18iEpYTgmIC0ZxFwqvALTioBMIUKqPJSehaWkzufHPYjDoNtjCwIIMpGN GxbIL69U/v8CRzZ+wDaRDCaYX1C9NRETHVWi3QU55dH+BdlClXyRX9s0p27huQ39g9HU xJxF5ipXUadxPBQGnjk7kVibC3DrDtfNz2/nvh6MftRvZ0qGc3sT376GdZhD+STS/pn6 3fazoAlAqEHyzu+7W0cyHCBKaq2UP2DXz8kjZ7XVcE+SxHAV7q81PAT1Up3jBMvlnRsN V8JLx0brvRiC5/r+3eUwVkkbhJGRD8W7/+g0i+pvICdtJOtMMt/ZCSkk2FSdIhKLujsg gINA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=4WQwZMlGzXWs4kHllUCGnH+/AXa9JoX1x77lneFud3E=; b=PmfU/flcljY8VX0N7SpyeWdyFgqjGvvnJ0sgwTMKkI2NwtMN2gb61Yx8bEFRK8My8S pvH2zuQHQnEjPDlQ/7kvzF74/2w1b5auZgQEb/uiNUCvSyz5mWORS9T8NCIF3gDGoasG R7z2R2cz8tEyvRVYI9aMvP6pKDNfx4d7ZlNnVwZJnuX86f/ujX2lpHgUc9eZYzHao3bl CveIXDtwBTNrG0qRXNBLaDKrb/v5HD+TThUu8oIQor59z4a3M6cv2RQupkEkbpWnmR4u NHXdYttFrtc/uYmQQ14BsHMKeSMrcOeODIMSSs3XMzslou5iIRfYXrLRIeuKaWFg3s1Z ypCg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r19si1277976pfd.267.2018.04.11.12.31.48; Wed, 11 Apr 2018 12:32:25 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757191AbeDKT3B (ORCPT + 99 others); Wed, 11 Apr 2018 15:29:01 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:38710 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934562AbeDKTCx (ORCPT ); Wed, 11 Apr 2018 15:02:53 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 8AA4FE3F; Wed, 11 Apr 2018 19:02:52 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Namhyung Kim , Adrian Hunter , Jiri Olsa , David Ahern , Peter Zijlstra , Wang Nan , kernel-team@lge.com, Arnaldo Carvalho de Melo , Sasha Levin Subject: [PATCH 4.9 225/310] perf tests: Decompress kernel module before objdump Date: Wed, 11 Apr 2018 20:36:04 +0200 Message-Id: <20180411183632.205543444@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180411183622.305902791@linuxfoundation.org> References: <20180411183622.305902791@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Namhyung Kim [ Upstream commit 94df1040b1e6aacd8dec0ba3c61d7e77cd695f26 ] If a kernel modules is compressed, it should be decompressed before running objdump to parse binary data correctly. This fixes a failure of object code reading test for me. Signed-off-by: Namhyung Kim Acked-by: Adrian Hunter Acked-by: Jiri Olsa Cc: David Ahern Cc: Peter Zijlstra Cc: Wang Nan Cc: kernel-team@lge.com Link: http://lkml.kernel.org/r/20170608073109.30699-8-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- tools/perf/tests/code-reading.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) --- a/tools/perf/tests/code-reading.c +++ b/tools/perf/tests/code-reading.c @@ -224,6 +224,8 @@ static int read_object_code(u64 addr, si unsigned char buf2[BUFSZ]; size_t ret_len; u64 objdump_addr; + const char *objdump_name; + char decomp_name[KMOD_DECOMP_LEN]; int ret; pr_debug("Reading object code for memory address: %#"PRIx64"\n", addr); @@ -284,9 +286,25 @@ static int read_object_code(u64 addr, si state->done[state->done_cnt++] = al.map->start; } + objdump_name = al.map->dso->long_name; + if (dso__needs_decompress(al.map->dso)) { + if (dso__decompress_kmodule_path(al.map->dso, objdump_name, + decomp_name, + sizeof(decomp_name)) < 0) { + pr_debug("decompression failed\n"); + return -1; + } + + objdump_name = decomp_name; + } + /* Read the object code using objdump */ objdump_addr = map__rip_2objdump(al.map, al.addr); - ret = read_via_objdump(al.map->dso->long_name, objdump_addr, buf2, len); + ret = read_via_objdump(objdump_name, objdump_addr, buf2, len); + + if (dso__needs_decompress(al.map->dso)) + unlink(objdump_name); + if (ret > 0) { /* * The kernel maps are inaccurate - assume objdump is right in