From patchwork Tue Apr 11 13:42:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Markus Elfring X-Patchwork-Id: 13207594 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BEEA8C77B6F for ; Tue, 11 Apr 2023 13:42:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C57DD10E318; Tue, 11 Apr 2023 13:42:32 +0000 (UTC) X-Greylist: delayed 311 seconds by postgrey-1.36 at gabe; Tue, 11 Apr 2023 13:42:30 UTC Received: from mout.web.de (mout.web.de [212.227.15.3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 06EB110E2F5; Tue, 11 Apr 2023 13:42:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1681220529; i=markus.elfring@web.de; bh=MdVoBfc/dINhWnEEIR/uciIViBWA6WiKvA2ZgQLTO6U=; h=X-UI-Sender-Class:Date:Subject:From:To:Cc:References:In-Reply-To; b=LJvC47Keh162g60XJxLk25jMiGsplj3uqBrXyV0WKxPlF5qGl+XdM7ARKYR5L71JE 1b9sMiQ65irha7oV82FWxVd4SzME7q8Whi317lDv4PnsOw1kXFpGuEW4nErDoDKXwh srg2XlbsAsWku69qqHL86adLV4o4uCHza6M8I5TdHSA812He42XG5StoVU8k/9s3hl Czk1Swjq4qpPdFy1emDuRxtwyt5sLqD2W3ID4nex/yAb4gvSSaHzxvLU6UPzyScouf fC28gyJvIjIpvem0ns93BHSZbbX0py8Nn5TECeaFfKbqUtsryNqEB4kp+smxkEyNS0 SdPkXCb0MBGSA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from [192.168.178.21] ([94.31.80.83]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MidHP-1qGMD93cff-00fjHF; Tue, 11 Apr 2023 15:42:09 +0200 Message-ID: <0d4b92ab-f7c2-4f18-f3c3-c0f82ba47fc8@web.de> Date: Tue, 11 Apr 2023 15:42:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: [PATCH 1/5] drm/amdgpu: Move a variable assignment behind a null pointer check in amdgpu_ras_interrupt_dispatch() Content-Language: en-GB From: Markus Elfring To: kernel-janitors@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Alan Liu , Alex Deucher , Alex Hung , Alexey Kodanev , Aurabindo Pillai , Bhanuprakash Modem , Candice Li , Charlene Liu , =?utf-8?q?Christian_K=C3=B6nig?= , Daniel Vetter , David Airlie , David Tadokoro , Eryk Brol , Greg Kroah-Hartman , Hamza Mahfooz , Harry Wentland , Hawking Zhang , hersen wu , Jiapeng Chong , Jun Lei , Leo Li , Mikita Lipski , Rodrigo Siqueira , Stanley Yang , Tao Zhou , Tom Rix , Victor Zhao , Wayne Lin , Wenjing Liu , Xinhui Pan , YiPeng Chai , Zhan Liu References: <40c60719-4bfe-b1a4-ead7-724b84637f55@web.de> <1a11455f-ab57-dce0-1677-6beb8492a257@web.de> <2258ce64-2a14-6778-8319-b342b06a1f33@web.de> In-Reply-To: <2258ce64-2a14-6778-8319-b342b06a1f33@web.de> X-Provags-ID: V03:K1:25febEqWetoQFrH/VBrwzBfTZugoK4sRWe5E4/QkInoeM7mmYZD TAwrXHKHDI9pkIADa8o8P5ZXEeWc53/5VA2ElTgbNWnpDUpzd8KvpK80DhfwPvGN6e/Ecpa L9+Oy8j2pqZgtAhQTdDKZu2mzIKAq5DryqasE9YtyWkeT+b93vSX8KPc6BszT3hKXYoZxt3 YG8zPMqts/i/f6BWFEEog== UI-OutboundReport: notjunk:1;M01:P0:rk04CgmiAgM=;BjHW4/lmZCg4/XhetZVbD0uiU/7 6xo7boTMuwYxpNVQsDmg37k+mhVfwgK5T6tbTthJjc0R7/TjZokWwAWgzkefPt3epO9/9BFOz pq6Toe1LfbPOPTR9QwrFxd7tRD+hBXGelxeor5euggerPKgvKDOZIBEGgN/ZsnNRVvnN6LxpM GCvhcL6GPK+D/uNk7iv+5wMnPH1IflQ+A3xOz15LXHDSAC7uQ/isKCWKST1PvUnkptJSrzw7u jgZxR3QI2WA58N4n/5HSx7zdm3lF5f8/5Zwg5BL+PW8b98YV0PrnNoTAp441+7ML71OpHpMOR lnaUfJx+yl0S70j42GgynhWHDdDtkut9hqIRZMa0oXvKQFN0mIc0xs6ZSY3Gg1LwiZ7WZPrvm LAIGAk89jrFoT6UdclsdWvyBgCdAdJX9f7uZQaABpBAROIiGBdtLcBx3SVtMwtm7wDStJSO4O BdkDzyZv3GgsCH3+73vMXdZW3nkrcfkC6dL9ptxhozWkd5NB6JR9X4CmOILZHMuP3UHzqoe2b +pcCtRRz5/g6lUxZ//771PTzwsKgYdzMs8tZG1Zmi97T9BfjeJzYMepSU21RFXrmXC+VZUpD7 MJooViMRuqTey1bP3pfiM6KcMcR9HEx7Wz9IGQyCN5J3rG50x4/+68j7rtPepA04tNUdW9Pi3 nuzTspL78ixzLw785rGRZ6TvI3Neu8IqHNPznd3h43PSjN6EcN6kxkUKivkYvEOCfjvr+Nby8 QMyPvW1rypdAYWpla7LvgjIbatJJwbm73kwgrB6LtPB7qTZ752KgSTWM3jnb6abcl3VwatFsu b/C5xu/WxV6e7ectsHQj2L/ZU7i92GUREA0WKGNCBB6DFdX8U9kaLRspS4rmDfME6lKPGHvgO PpOl9b+2/01y1F71kTEcQDT5NcZ4755N8bC96sTBRKI/EWyg7aza/YCEk X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: LKML , cocci@inria.fr Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Date: Tue, 11 Apr 2023 10:52:48 +0200 The address of a data structure member was determined before a corresponding null pointer check in the implementation of the function “amdgpu_ras_interrupt_dispatch”. Thus avoid the risk for undefined behaviour by moving the assignment for the variable “data” behind the null pointer check. This issue was detected by using the Coccinelle software. Fixes: c030f2e4166c3f5597c7e7a70bcd9ab383695de4 ("drm/amdgpu: add amdgpu_ras.c to support ras (v2)") Signed-off-by: Markus Elfring --- drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.40.0 diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c index 4069bce9479f..a920c7888d07 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c @@ -1730,11 +1730,12 @@ int amdgpu_ras_interrupt_dispatch(struct amdgpu_device *adev, struct ras_dispatch_if *info) { struct ras_manager *obj = amdgpu_ras_find_obj(adev, &info->head); - struct ras_ih_data *data = &obj->ih_data; + struct ras_ih_data *data; if (!obj) return -EINVAL; + data = &obj->ih_data; if (data->inuse == 0) return 0;