From mboxrd@z Thu Jan 1 00:00:00 1970 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C9C3C433F5 for ; Tue, 31 May 2022 01:34:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243407AbiEaBeT (ORCPT ); Mon, 30 May 2022 21:34:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233538AbiEaBeN (ORCPT ); Mon, 30 May 2022 21:34:13 -0400 Received: from mail.meizu.com (edge05.meizu.com [157.122.146.251]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 97245939DA; Mon, 30 May 2022 18:34:10 -0700 (PDT) Received: from IT-EXMB-1-125.meizu.com (172.16.1.125) by mz-mail12.meizu.com (172.16.1.108) with Microsoft SMTP Server (TLS) id 14.3.487.0; Tue, 31 May 2022 09:34:09 +0800 Received: from [172.16.137.70] (172.16.137.70) by IT-EXMB-1-125.meizu.com (172.16.1.125) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Tue, 31 May 2022 09:34:07 +0800 Message-ID: <7dd43198-2873-8767-2b17-de0b858a0ff1@meizu.com> Date: Tue, 31 May 2022 09:34:07 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH] drm/msm/dpu: Fix pointer dereferenced before checking To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov , Sean Paul , David Airlie , Daniel Vetter CC: , , , References: <1653896005-25168-1-git-send-email-baihaowen@meizu.com> From: baihaowen In-Reply-To: <1653896005-25168-1-git-send-email-baihaowen@meizu.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [172.16.137.70] X-ClientProxiedBy: IT-EXMB-1-126.meizu.com (172.16.1.126) To IT-EXMB-1-125.meizu.com (172.16.1.125) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2022/5/30 下午3:33, Haowen Bai 写道: > The ctx->hw is dereferencing before null checking, so move > it after checking. > > Signed-off-by: Haowen Bai > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c > index bcccce292937..e59680cdd0ce 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c > @@ -155,11 +155,13 @@ static void dpu_hw_wb_roi(struct dpu_hw_wb *ctx, struct dpu_hw_wb_cfg *wb) > static void dpu_hw_wb_setup_qos_lut(struct dpu_hw_wb *ctx, > struct dpu_hw_wb_qos_cfg *cfg) > { > - struct dpu_hw_blk_reg_map *c = &ctx->hw; > + struct dpu_hw_blk_reg_map *c; > u32 qos_ctrl = 0; > > if (!ctx || !cfg) > return; > + > + c = &ctx->hw; > > DPU_REG_WRITE(c, WB_DANGER_LUT, cfg->danger_lut); > DPU_REG_WRITE(c, WB_SAFE_LUT, cfg->safe_lut); Sorry, plz ignore this patch. ctx->hw is dereferenced, &ctx->hw is just a pointer math for pointer address offset, so it would not cause a bug(dereferencing null pointer). -- Haowen Bai