Received: by 10.192.165.156 with SMTP id m28csp1160866imm; Wed, 11 Apr 2018 13:36:30 -0700 (PDT) X-Google-Smtp-Source: AIpwx49hk6Nmt1O2XAH8SwZCei0qVmqltLwE79euMJOw2WyjLkfhyLr9VYxDEnrHcAlI9kbR3aqI X-Received: by 10.99.117.22 with SMTP id q22mr3312256pgc.68.1523478990650; Wed, 11 Apr 2018 13:36:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523478990; cv=none; d=google.com; s=arc-20160816; b=vBVllR4rWaeOfWn/pz5jm8epICQcgzuIFV06udoEuK6IOBBUw0vjlTmTxywzymc3SL G2h6ivooYGr9ngOoNRHibf9G2QY3QrOq/okfl28+hbOsvuN+ESazClp4mckuTF5U8rLO 4tUObTxdsurj1Aq7C2re4rDAr6NO4D3lsH8NZ2bqwBP1rjwYb0LtBCH6NbxK9897Rm94 uDRpdPtdwV/XqYnuJh0mYeslrwu3fyNvaZr5n+tYiSPGb9izhw/+CPOMIkdO2UWp+LFm FITgoJCFIreuhWgv3iiRsOc4GKUpcAJNGbTK2mmzkCAVzAwjPtU0gbD/i13oPgl6lV68 1ygw== 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=2Pk5nxmAfxWnfrHLg3Bccy0H5vA/oWK7dtOw4363jSw=; b=YerVa3qtU4/QG2BjOHxAGeKChbFoGzjQYlWL8si0MObsTjYaLsuGL25xqr4agooPS2 PfvJck8jvJpuKMmKfR3DFqwUgzsl63fxiskAIlYUKWOVfX0OOhbLRKvT/TV4vEUnH3ET 4pW4YlgcooMJ03vTfT8uh74Ix8vOlV9EYwqwboBJbdyfGxcutjQKKx54ahFq0iuh2A0e hI4u5zE3c82DVMH0+PQ8yXT9f/CSyz9dHKeEvbQ+atepgo9Nj0qe6XATLKvxlvmnjFR5 vICHg41yWcSrQXw0y1HcqjvaNT8xWucJ5CjiFI2nlni1l+mlu5ulaz68cNrwNyQmf3gz J3aw== 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 v13si1230389pgq.478.2018.04.11.13.35.54; Wed, 11 Apr 2018 13:36:30 -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 S932851AbeDKU2N (ORCPT + 99 others); Wed, 11 Apr 2018 16:28:13 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:60806 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932647AbeDKSu1 (ORCPT ); Wed, 11 Apr 2018 14:50:27 -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 4DC97D23; Wed, 11 Apr 2018 18:50:26 +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.4 136/190] perf tests: Decompress kernel module before objdump Date: Wed, 11 Apr 2018 20:36:22 +0200 Message-Id: <20180411183600.526029566@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180411183550.114495991@linuxfoundation.org> References: <20180411183550.114495991@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.4-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 @@ -182,6 +182,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); @@ -242,9 +244,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