From patchwork Tue Dec 11 10:22:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sharat Masetty X-Patchwork-Id: 10723415 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 860D61751 for ; Tue, 11 Dec 2018 10:22:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6AB132A2E4 for ; Tue, 11 Dec 2018 10:22:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5B9712A470; Tue, 11 Dec 2018 10:22:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E54C02A2E4 for ; Tue, 11 Dec 2018 10:22:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726229AbeLKKW4 (ORCPT ); Tue, 11 Dec 2018 05:22:56 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:32890 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726227AbeLKKW4 (ORCPT ); Tue, 11 Dec 2018 05:22:56 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 4C018604BE; Tue, 11 Dec 2018 10:22:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1544523775; bh=x4zVPUZfv9nz5pFTiKYSOVYuV6xs+9a6S/eQHG5cplU=; h=From:To:Cc:Subject:Date:From; b=kTP/CwTE8BlN1eEHIPc6YKw05XnitfZaEHXLku4Iox3fRFijfu5t+DHKUAQHfvcyL SZXbo4ggPuKRbFbDEfVllVzgxyc5vHDW/hmMEQ5I06D4c8hAW/A+ZTfdY/IGJeAtRw pJrUnn2HKFYJnjL1l2CynYj0LtSNkfj7huVNqJcU= Received: from smasetty-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: smasetty@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 1DAE9601A1; Tue, 11 Dec 2018 10:22:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1544523774; bh=x4zVPUZfv9nz5pFTiKYSOVYuV6xs+9a6S/eQHG5cplU=; h=From:To:Cc:Subject:Date:From; b=PIq45m6CGxdpXxX5TZuRmQD3mca87OXySDh4xZr0+Iy4MG+Vyg5Fdya4at/SZ1s5V A8bj+yVInk5+1ebsX0Jds+4DR10c5z8rMYc/nYBQjwSWUFFCJ8wLjIyrlkOeWSaZt7 7EbkMC4kUY6lsVuVdVKvVdQlME1ISsD5XPYYIdBs= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 1DAE9601A1 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=smasetty@codeaurora.org From: Sharat Masetty To: freedreno@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, jcrouse@codeaurora.org, Sharat Masetty Subject: [v2 1/2] drm/msm/adreno: Make adreno_gpu_state_get() return void Date: Tue, 11 Dec 2018 15:52:44 +0530 Message-Id: <1544523765-12786-1-git-send-email-smasetty@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We are not really checking the state of the adreno_gpu_state_get() function at the callers and in addition the state capture is mostly a best effort service, so make the function return void. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 4 +--- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index 1ca4bea..40bcf32 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -380,7 +380,7 @@ bool adreno_idle(struct msm_gpu *gpu, struct msm_ringbuffer *ring) return false; } -int adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state) +void adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state) { struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); int i, count = 0; @@ -437,8 +437,6 @@ int adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state) state->nr_registers = count; } - - return 0; } void adreno_gpu_state_destroy(struct msm_gpu_state *state) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.h b/drivers/gpu/drm/msm/adreno/adreno_gpu.h index 4973c8c..d4834b3 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.h +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.h @@ -235,7 +235,7 @@ int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev, void adreno_gpu_state_destroy(struct msm_gpu_state *state); -int adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state); +void adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state); int adreno_gpu_state_put(struct msm_gpu_state *state); /* ringbuffer helpers (the parts that are adreno specific) */ From patchwork Tue Dec 11 10:22:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sharat Masetty X-Patchwork-Id: 10723417 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E36731751 for ; Tue, 11 Dec 2018 10:22:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D1CA32A2E4 for ; Tue, 11 Dec 2018 10:22:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C5E672A3B3; Tue, 11 Dec 2018 10:22:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6C01A2A392 for ; Tue, 11 Dec 2018 10:22:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726256AbeLKKW6 (ORCPT ); Tue, 11 Dec 2018 05:22:58 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:32956 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726227AbeLKKW5 (ORCPT ); Tue, 11 Dec 2018 05:22:57 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 39C0D60A31; Tue, 11 Dec 2018 10:22:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1544523777; bh=Tjei8e9TZHzwdcYAzLsqrCB/HEktrrVcLPT3ZJpCtT4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=In1XukzmB0t8MsicCELdKmf4Q89pnR0o+9VU2BakejRPg8nH3GFOpvUSFJajWFeqs U7CiFvTVwa4Yo5Y3dyCTX+C/+251KYL1Rphkpag6ybX+05bnyQcdGrepVoQklYnvV3 fj3TAT1+tZUUARSRv43nKm7aBtzhdbMtvEHotyUI= Received: from smasetty-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: smasetty@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id D655B601B4; Tue, 11 Dec 2018 10:22:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1544523776; bh=Tjei8e9TZHzwdcYAzLsqrCB/HEktrrVcLPT3ZJpCtT4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QPSS40VaS/ielOVPME0rcjYD10P0SYdw865FY5xzu0YVaK/kbxGIxq+j9oMqLACso ipj3Rm5RmvNloqBfc62wovkIUSR9raqvRQntyuds6tCdaJPxr2fnXK00YegZE5ShV9 QSVz8xxsJuXlMGO7o0yhOEeyfnaY/tOkmqF43Ejg= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org D655B601B4 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=smasetty@codeaurora.org From: Sharat Masetty To: freedreno@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, jcrouse@codeaurora.org, Sharat Masetty Subject: [v2 2/2] drm/msm/a6xx: Fix NULL dereference during crashstate capture Date: Tue, 11 Dec 2018 15:52:45 +0530 Message-Id: <1544523765-12786-2-git-send-email-smasetty@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1544523765-12786-1-git-send-email-smasetty@codeaurora.org> References: <1544523765-12786-1-git-send-email-smasetty@codeaurora.org> Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The gpu crashstate's base objects registers pointer can be NULL if the target implementation decides to capture the register dump on its own. This patch simply checks for NULL before dereferencing. Signed-off-by: Sharat Masetty --- Changes from v1: Addressed comments from Jordan Crouse drivers/gpu/drm/msm/adreno/adreno_gpu.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) -- 1.9.1 diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index 40bcf32..56a63c4 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -415,6 +415,9 @@ void adreno_gpu_state_get(struct msm_gpu *gpu, struct msm_gpu_state *state) } } + if (!adreno_gpu->registers) + return; + /* Count the number of registers */ for (i = 0; adreno_gpu->registers[i] != ~0; i += 2) count += adreno_gpu->registers[i + 1] - @@ -550,9 +553,10 @@ void adreno_show(struct msm_gpu *gpu, struct msm_gpu_state *state, } } - drm_puts(p, "registers:\n"); - for (i = 0; i < state->nr_registers; i++) { + if (i == 0) + drm_puts(p, "registers:\n"); + drm_printf(p, " - { offset: 0x%04x, value: 0x%08x }\n", state->registers[i * 2] << 2, state->registers[(i * 2) + 1]);