From nobody Sun Dec 28 17:31:00 2025 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 57255C10F05 for ; Wed, 6 Dec 2023 14:37:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378954AbjLFOhZ (ORCPT ); Wed, 6 Dec 2023 09:37:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378870AbjLFOhX (ORCPT ); Wed, 6 Dec 2023 09:37:23 -0500 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 05317D40 for ; Wed, 6 Dec 2023 06:37:30 -0800 (PST) Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3333a3a599fso473667f8f.0 for ; Wed, 06 Dec 2023 06:37:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1701873448; x=1702478248; darn=vger.kernel.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=VW3Q3pYivZ0nqLu9afJmoH7SdepQ5nT0zPYa9KiyjuA=; b=rtj/JkfcEE84dqHxkBKomp1ycakWlsQRrhgUqH3GQY0T07ZsCAsPOSKxSl+Qyf1Mya zRVXmdfYqMZq5wIgUhFJyQHCSb25QWPliz5+EiaxXmDUGdOMEfPwq4APYJGF4Nw5Rw1m b+dzqAOlBAJqnVAu0uB5nrIqaLI+wAYOCRIbofJe+MiPFS/xtOAbhBv0GTkILE0lPIKd wZeSVsNlR3q4JSZrF+xSUJGZuH3IdrcgisEa8EiMxdPHxllFCn21FzrA0ZxEZoZX8nAN qb/kB0+04d4GlWPotK69WIZn0G2A5t8U5cymMpb2SHQWvKKGnj3OuO0PPdsVN1ys68bq uDFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701873448; x=1702478248; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=VW3Q3pYivZ0nqLu9afJmoH7SdepQ5nT0zPYa9KiyjuA=; b=cn7JqCVmGjjqwT8Kie18JjOxv8wAz06xeuWkDYBLcHZXyK/74Zx6yETkMSyuGkRHLz 3iknBrxVLkRpVDHydDR8/onKUBPAsYkx9UswfKz0SuMtLAwYpjQ1a8OtTaZzpgZOqFNX FssCLxbIOebfygMNTYC8E1p3w3fNBOHeSggJ0tHAN9jUCCI2baH0mdgparFbW90n7FbJ MxEsg81Y+ilgln1RIf4zhPwKyE+Tv9c0BgB7bbs3TL+lfULsNpgxZK88bXLIBzIllAfz DP7jJFcgABmjfqvTCG0nBpEuoRb/ASVTEksGaC1zVz2G5DR92xCVHDOIegg0tnjpr/eK G+uA== X-Gm-Message-State: AOJu0Yz6JZN8ScrK5nStAIGBRJC8IUgjNvBK0rsgXcFEptGSQy99y540 B2XpfBUrZYuY/taRKtYyG10V0vtQb89fXVNlx5g= X-Google-Smtp-Source: AGHT+IGEfgHWhI3i0hf5O74h0s9YQTUHmBfTR0yRIKQM71/4+mYNuyHDYdRRnr1gnYUuNd8DlAYpWg== X-Received: by 2002:a05:600c:4e90:b0:40b:5e56:7b68 with SMTP id f16-20020a05600c4e9000b0040b5e567b68mr1640147wmq.177.1701873448401; Wed, 06 Dec 2023 06:37:28 -0800 (PST) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id fa10-20020a05600c518a00b00405442edc69sm25776814wmb.14.2023.12.06.06.37.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 06:37:27 -0800 (PST) Date: Wed, 6 Dec 2023 17:37:24 +0300 From: Dan Carpenter To: Donald Robson Cc: Frank Binns , Matt Coster , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Sarah Walker , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [PATCH] drm/imagination: Move dereference after NULL check in pvr_mmu_backing_page_init() Message-ID: <13f4278e-af9c-4092-9196-bc0e6b76f1eb@moroto.mountain> MIME-Version: 1.0 Content-Disposition: inline X-Mailer: git-send-email haha only kidding Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This code dereferences "page->pvr_dev" and then checked for NULL on the next line. Re-order it to avoid a potential NULL pointer dereference. Fixes: ff5f643de0bf ("drm/imagination: Add GEM and VM related code") Signed-off-by: Dan Carpenter Reviewed-by: Frank Binns --- drivers/gpu/drm/imagination/pvr_mmu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/imagination/pvr_mmu.c b/drivers/gpu/drm/imagin= ation/pvr_mmu.c index c8562bfc0dcd..4fe70610ed94 100644 --- a/drivers/gpu/drm/imagination/pvr_mmu.c +++ b/drivers/gpu/drm/imagination/pvr_mmu.c @@ -316,12 +316,14 @@ pvr_mmu_backing_page_init(struct pvr_mmu_backing_page= *page, static void pvr_mmu_backing_page_fini(struct pvr_mmu_backing_page *page) { - struct device *dev =3D from_pvr_device(page->pvr_dev)->dev; + struct device *dev; =20 /* Do nothing if no allocation is present. */ if (!page->pvr_dev) return; =20 + dev =3D from_pvr_device(page->pvr_dev)->dev; + dma_unmap_page(dev, page->dma_addr, PVR_MMU_BACKING_PAGE_SIZE, DMA_TO_DEVICE); =20 --=20 2.42.0