From: Akhil P Oommen <akhilpo@oss.qualcomm.com>
To: Dan Carpenter <dan.carpenter@linaro.org>, oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org,
Rob Clark <robin.clark@oss.qualcomm.com>
Subject: Re: drivers/gpu/drm/msm/adreno/a2xx_gpu.c:503 a2xx_gpu_init() warn: variable dereferenced before check 'pdev' (see line 500)
Date: Thu, 25 Dec 2025 00:07:31 +0530 [thread overview]
Message-ID: <ca0bebc1-849e-47a9-8a75-9fe7ba0064f2@oss.qualcomm.com> (raw)
In-Reply-To: <202512082235.2rH8XoPX-lkp@intel.com>
On 12/9/2025 1:40 PM, Dan Carpenter wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: c2f2b01b74be8b40a2173372bcd770723f87e7b2
> commit: 491fadb2b818e1d900229a1f8243de6458381306 drm/msm/adreno: Move adreno_gpu_func to catalogue
> config: arm64-randconfig-r072-20251207 (https://download.01.org/0day-ci/archive/20251208/202512082235.2rH8XoPX-lkp@intel.com/config)
> compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project a805147ac1ba123916de182babb0831fbb148756)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> | Closes: https://lore.kernel.org/r/202512082235.2rH8XoPX-lkp@intel.com/
>
> smatch warnings:
> drivers/gpu/drm/msm/adreno/a2xx_gpu.c:503 a2xx_gpu_init() warn: variable dereferenced before check 'pdev' (see line 500)
> drivers/gpu/drm/msm/adreno/a3xx_gpu.c:530 a3xx_gpu_init() warn: variable dereferenced before check 'pdev' (see line 525)
> drivers/gpu/drm/msm/adreno/a4xx_gpu.c:642 a4xx_gpu_init() warn: variable dereferenced before check 'pdev' (see line 637)
>
> vim +/pdev +503 drivers/gpu/drm/msm/adreno/a2xx_gpu.c
>
> 491fadb2b818e1 Akhil P Oommen 2025-11-18 493 static struct msm_gpu *a2xx_gpu_init(struct drm_device *dev)
> 21af872cd8c695 Jonathan Marek 2018-11-21 494 {
> 21af872cd8c695 Jonathan Marek 2018-11-21 495 struct a2xx_gpu *a2xx_gpu = NULL;
> 21af872cd8c695 Jonathan Marek 2018-11-21 496 struct adreno_gpu *adreno_gpu;
> 21af872cd8c695 Jonathan Marek 2018-11-21 497 struct msm_gpu *gpu;
> 21af872cd8c695 Jonathan Marek 2018-11-21 498 struct msm_drm_private *priv = dev->dev_private;
> 21af872cd8c695 Jonathan Marek 2018-11-21 499 struct platform_device *pdev = priv->gpu_pdev;
> 491fadb2b818e1 Akhil P Oommen 2025-11-18 @500 struct adreno_platform_config *config = pdev->dev.platform_data;
> ^^^^^^^^^
> Patch adds a dereference.
>
> 21af872cd8c695 Jonathan Marek 2018-11-21 501 int ret;
> 21af872cd8c695 Jonathan Marek 2018-11-21 502
> 21af872cd8c695 Jonathan Marek 2018-11-21 @503 if (!pdev) {
>
> but the old code checked for NULL. Probably this NULL check can be
> removed?
Yes, we can remove this unnecessary check. I will send a patch. Thanks.
-Akhil.
>
> 21af872cd8c695 Jonathan Marek 2018-11-21 504 dev_err(dev->dev, "no a2xx device\n");
> 21af872cd8c695 Jonathan Marek 2018-11-21 505 ret = -ENXIO;
> 21af872cd8c695 Jonathan Marek 2018-11-21 506 goto fail;
> 21af872cd8c695 Jonathan Marek 2018-11-21 507 }
> 21af872cd8c695 Jonathan Marek 2018-11-21 508
> 21af872cd8c695 Jonathan Marek 2018-11-21 509 a2xx_gpu = kzalloc(sizeof(*a2xx_gpu), GFP_KERNEL);
> 21af872cd8c695 Jonathan Marek 2018-11-21 510 if (!a2xx_gpu) {
> 21af872cd8c695 Jonathan Marek 2018-11-21 511 ret = -ENOMEM;
> 21af872cd8c695 Jonathan Marek 2018-11-21 512 goto fail;
> 21af872cd8c695 Jonathan Marek 2018-11-21 513 }
> 21af872cd8c695 Jonathan Marek 2018-11-21 514
> 21af872cd8c695 Jonathan Marek 2018-11-21 515 adreno_gpu = &a2xx_gpu->base;
> 21af872cd8c695 Jonathan Marek 2018-11-21 516 gpu = &adreno_gpu->base;
> 21af872cd8c695 Jonathan Marek 2018-11-21 517
> 21af872cd8c695 Jonathan Marek 2018-11-21 518 gpu->perfcntrs = perfcntrs;
> 21af872cd8c695 Jonathan Marek 2018-11-21 519 gpu->num_perfcntrs = ARRAY_SIZE(perfcntrs);
> 21af872cd8c695 Jonathan Marek 2018-11-21 520
> 491fadb2b818e1 Akhil P Oommen 2025-11-18 521 ret = adreno_gpu_init(dev, pdev, adreno_gpu, config->info->funcs, 1);
> db07ce5da8b26b Fabio Estevam 2023-06-20 522 if (ret)
> db07ce5da8b26b Fabio Estevam 2023-06-20 523 goto fail;
> db07ce5da8b26b Fabio Estevam 2023-06-20 524
> 21af872cd8c695 Jonathan Marek 2018-11-21 525 if (adreno_is_a20x(adreno_gpu))
> 21af872cd8c695 Jonathan Marek 2018-11-21 526 adreno_gpu->registers = a200_registers;
> 21af872cd8c695 Jonathan Marek 2018-11-21 527 else if (adreno_is_a225(adreno_gpu))
> 21af872cd8c695 Jonathan Marek 2018-11-21 528 adreno_gpu->registers = a225_registers;
> 21af872cd8c695 Jonathan Marek 2018-11-21 529 else
> 21af872cd8c695 Jonathan Marek 2018-11-21 530 adreno_gpu->registers = a220_registers;
> 21af872cd8c695 Jonathan Marek 2018-11-21 531
> 21af872cd8c695 Jonathan Marek 2018-11-21 532 return gpu;
> 21af872cd8c695 Jonathan Marek 2018-11-21 533
> 21af872cd8c695 Jonathan Marek 2018-11-21 534 fail:
> 21af872cd8c695 Jonathan Marek 2018-11-21 535 if (a2xx_gpu)
> 21af872cd8c695 Jonathan Marek 2018-11-21 536 a2xx_destroy(&a2xx_gpu->base.base);
> 21af872cd8c695 Jonathan Marek 2018-11-21 537
> 21af872cd8c695 Jonathan Marek 2018-11-21 538 return ERR_PTR(ret);
> 21af872cd8c695 Jonathan Marek 2018-11-21 539 }
>
next prev parent reply other threads:[~2025-12-24 18:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-08 14:35 drivers/gpu/drm/msm/adreno/a2xx_gpu.c:503 a2xx_gpu_init() warn: variable dereferenced before check 'pdev' (see line 500) kernel test robot
2025-12-09 8:10 ` Dan Carpenter
2025-12-24 18:37 ` Akhil P Oommen [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-07-03 9:31 kernel test robot
2025-12-09 21:43 kernel test robot
2025-12-07 19:27 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ca0bebc1-849e-47a9-8a75-9fe7ba0064f2@oss.qualcomm.com \
--to=akhilpo@oss.qualcomm.com \
--cc=dan.carpenter@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=robin.clark@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.