Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp3423462pxt; Tue, 10 Aug 2021 03:22:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwWpxDLLFYI/w0jb4zeaRHinQ2gTx1ahb2NBzuI7VQcuaK/n3bdcALSQQ+1doAheeR9nlT8 X-Received: by 2002:aa7:df96:: with SMTP id b22mr4012500edy.324.1628590959471; Tue, 10 Aug 2021 03:22:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628590959; cv=none; d=google.com; s=arc-20160816; b=K3njmimszGzB6N0boL8mKSaiYV7LUgi3XUW/f6jOPe26UqXHwKrOjPjdRHO6N/a8IV ouqYgw8QepeV1rcHsU48d7L34cd1Vj7olPRmrt4a9gvaPbHByVKffAAvi6B1GLVrXCFC GPjr/PkpWbzFECnHZw+GXjnEHZskYYcvaOglkEfuImzoYzoIuZqleAylyd734WaPx46J vThPiwmHqKe3LYBFCM4/aVdsCOoGoiPkGRYhCdUJcf7EysXociq5NxWrdpwlh6OvSrJG veOGxgFojtqftZcc++BQ4VAF9Smknxb1f8SOzkbZxVetajt/RWtD7Bd3Zs3pIb/p3XR5 Nmow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :mime-version:user-agent:date:message-id:subject:from:cc:to :dkim-signature; bh=X77WBIfldn7rqm2+21Ngl7e086LBbBLmUU8LtON+/iY=; b=wM3c7+m5SeWj2nylFiocxB0JNlMJuwuIVz6zqfcVY0PAEfvuaOIMrV4YZ99gv/scDz 7X3FXUmqmd/K45admPlJklBbCdEumWjsG1kdyZh0TNiEXdqvCuBMawLMTQLATMdLGuu6 OP6796LYNjfNEGzZmtx5MPS5RtG2D1bZC4AUuEL69JJyZgVmNnnL3YtV311VCOPLRL64 Yrx6ee+NwRt3+KUPIFv5g6O+nJ7hEcY6k76YFV1J7xx9ryr5qruIkGpJeo4LdJ8/MDi/ PBULqs4fPAxFoQI+qq1IXMFkHuKSZXtQNPeGS0BYjd2UQosSxsifZxa312l+amBVDUsv xeBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tPR88JiH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 5si22150031edv.551.2021.08.10.03.22.15; Tue, 10 Aug 2021 03:22:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tPR88JiH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239015AbhHJJ2i (ORCPT + 99 others); Tue, 10 Aug 2021 05:28:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239027AbhHJJ2h (ORCPT ); Tue, 10 Aug 2021 05:28:37 -0400 Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6DF7DC0613D3 for ; Tue, 10 Aug 2021 02:28:15 -0700 (PDT) Received: by mail-pj1-x102c.google.com with SMTP id j1so32190395pjv.3 for ; Tue, 10 Aug 2021 02:28:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:cc:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=X77WBIfldn7rqm2+21Ngl7e086LBbBLmUU8LtON+/iY=; b=tPR88JiHmVARTkdlHzXNVmRayC8gz4m3WoxjQ3pzPQNnx/fUDaTBoFz7klr57I09m5 Ip6/DsMfswcRt3y17XO2Gzzj1aJl1thFKcc/RuOBZMSTQZDM/ZoYlPvoAn+lb2T3/Vwk eH+EUAGDmQCt8qynwNxh4V4seneoVTEyTJjt0FYj0shNM3rBmxnPMNba8vwOYKXucjnB /MUIkjskKx78RMgDBFWMw4tcJE6/OjQkjzA0YB9JorpP/uy0Fim3qBW4fv1DAZtBdmAQ v2AjvrzBDMvz+fpPeiuXvsy3RcRRd+1bfB1ShRTSC3zq+yAYt/CDeuU/7pBlxdxbFKvP Jcjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=X77WBIfldn7rqm2+21Ngl7e086LBbBLmUU8LtON+/iY=; b=mIns8H6ceBCSSA6T3B78hrS4DhlyytaSgIGNXqfSQI408BOueW6C/0mGCt58S2qRR3 gL3hnPlnrBkOiRVB1Cdn4/IcwYjzJsTXyebfZpsRJsrwCYCiUn4UsPevp/70hB3X1iEK 6P1vEMBxMhkL5wTdoMb1xIZSn0MgRq/t4gHzq2znulxw8Pj/DIMXawAPWX85ZNZoC9dg rRuwFwWzoEXWiv1pRX4pb3p8/qJEaewDYGFF4jyKILKsXNO2hQEC2KsDt0gH6o8oDvoK KNP7uO+4oXVzQEUoriGVZoaFkLs2X/BFfqL85VGZMLNS+93+l2pGtWKoec4npOwFO0+6 RoNA== X-Gm-Message-State: AOAM531YFK8LKU+fqZX7AFvpzrF8U/ynjpqeoFVHXTHlNdH8zNlgkepb oZLKwcsV2lSNk8iVAQomgw8= X-Received: by 2002:a63:e643:: with SMTP id p3mr838997pgj.213.1628587694956; Tue, 10 Aug 2021 02:28:14 -0700 (PDT) Received: from [10.94.0.22] ([85.203.23.36]) by smtp.gmail.com with ESMTPSA id z15sm27039499pgc.13.2021.08.10.02.28.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 10 Aug 2021 02:28:14 -0700 (PDT) To: alexander.deucher@amd.com, christian.koenig@amd.com, Xinhui.Pan@amd.com, airlied@linux.ie, daniel@ffwll.ch, evan.quan@amd.com, luben.tuikov@amd.com, tzimmermann@suse.de, lee.jones@linaro.org, mh12gx2825@gmail.com, sakari.ailus@linux.intel.com, zhangqilong3@huawei.com, pmladek@suse.com Cc: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Linux Kernel , "baijiaju1990@gmail.com" From: Tuo Li Subject: [BUG] drm/amdgpu: possible null-pointer dereference in dce_vXX_0_afmt_setmode() Message-ID: <650a9f72-712c-c5a3-dc4c-1251fb3bb6cd@gmail.com> Date: Tue, 10 Aug 2021 17:28:07 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Our static analysis tool finds some possible null-pointer dereferences in the amdgpu driver in Linux 5.14.0-rc3: In dce_v10_0.c: The variable encoder->crtc is checked in: 1591:    if (encoder->crtc) This indicates that encoder->crtc can be NULL. Then the function dce_v10_0_audio_set_dto() is called with the argument encoder: 1600:    ce_v10_0_audio_set_dto(encoder, mode->clock); However, encoder->crtc is dereferenced in this function: 1545:    struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc); 1559:    tmp = REG_SET_FIELD(tmp, DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO0_SOURCE_SEL, amdgpu_crtc->crtc_id); In dce_v11_0.c and dce_v8_0.c, situations are the same. I am not quite sure whether these possible null-pointer dereferences are real and how to fix them if they are real. Any feedback would be appreciated, thanks! Reported-by: TOTE Robot Best wishes, Tuo Li