[bug report] ARM: OMAP2+: Populate legacy resources for dma and smartreflex
Tony Lindgren
tony at atomide.com
Mon Oct 30 10:10:37 PDT 2017
* Tony Lindgren <tony at atomide.com> [171027 22:52]:
> * Dan Carpenter <dan.carpenter at oracle.com> [171026 23:46]:
> > Hello Tony Lindgren,
> >
> > This is a semi-automatic email about new static checker warnings.
> >
> > The patch d85a2d61432a: "ARM: OMAP2+: Populate legacy resources for
> > dma and smartreflex" from Oct 10, 2017, leads to the following Smatch
> > complaint:
> >
> > arch/arm/mach-omap2/omap_device.c:453 omap_device_copy_resources()
> > error: we previously assumed 'oh' could be null (see line 394)
> >
> > arch/arm/mach-omap2/omap_device.c
> > 393
> > 394 if (!oh || !oh->od || !oh->od->pdev) {
> > ^^^
> > Patch adds check for NULL.
> >
> > 395 error = -EINVAL;
> > 396 goto error;
> > 397 }
> > 398
> >
> > [ snip ]
> >
> > 448
> > 449 free:
> > 450 kfree(res);
> > 451
> > 452 error:
> > 453 WARN(error, "%s: %s device %s failed: %i\n",
> > 454 __func__, oh->name, dev_name(&pdev->dev),
> > ^^^^^^^^
> > and the patch adds a dereference.
> >
> > 455 error);
>
> Thanks, looks like we should just return early there. I'll send
> a fix for this.
And here's the patch to fix it.
Regards,
Tony
8< -------------------------
>From tony Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony at atomide.com>
Date: Mon, 30 Oct 2017 10:01:39 -0700
Subject: [PATCH] ARM: OMAP2+: Fix smatch found issue for omap_device
The patch d85a2d61432a: "ARM: OMAP2+: Populate legacy resources for
dma and smartreflex" from Oct 10, 2017, leads to the following Smatch
complaint:
arch/arm/mach-omap2/omap_device.c:453 omap_device_copy_resources()
error: we previously assumed 'oh' could be null (see line 394)
Fixes: d85a2d61432a: ("ARM: OMAP2+: Populate legacy resources for dma
and smartreflex")
Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
Signed-off-by: Tony Lindgren <tony at atomide.com>
---
arch/arm/mach-omap2/omap_device.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
--- a/arch/arm/mach-omap2/omap_device.c
+++ b/arch/arm/mach-omap2/omap_device.c
@@ -391,10 +391,8 @@ omap_device_copy_resources(struct omap_hwmod *oh,
const char *name;
int error, irq = 0;
- if (!oh || !oh->od || !oh->od->pdev) {
- error = -EINVAL;
- goto error;
- }
+ if (!oh || !oh->od || !oh->od->pdev)
+ return -EINVAL;
np = oh->od->pdev->dev.of_node;
if (!np) {
--
2.14.3
More information about the linux-arm-kernel
mailing list