iommu/tegra: remove invalid reference to list iterator variable
authorJulia Lawall <[email protected]>
Sun, 8 Jul 2012 11:37:42 +0000 (13:37 +0200)
committerJoerg Roedel <[email protected]>
Fri, 3 Aug 2012 14:04:12 +0000 (16:04 +0200)
If list_for_each_entry, etc complete a traversal of the
list, the iterator variable ends up pointing to an address
at an offset from the list head, and not a meaningful
structure.  Thus this value should not be used after the end
of the iterator.  Replace c->dev by dev, which is the value
that c->dev has been compared to.

This problem was found using Coccinelle (http://coccinelle.lip6.fr/).

Signed-off-by: Julia Lawall <[email protected]>
Acked-by: Stephen Warren <[email protected]>
Acked-by: Hiroshi DOYU <[email protected]>
Signed-off-by: Joerg Roedel <[email protected]>
drivers/iommu/tegra-smmu.c

index 4ba325ab626249c2aa2aee1271a6d0c68ec20d9a..a9bf4c30cd84cc72f3a8bf9f9b241f77d54baa1d 100644 (file)
@@ -799,7 +799,7 @@ static void smmu_iommu_detach_dev(struct iommu_domain *domain,
                        goto out;
                }
        }
-       dev_err(smmu->dev, "Couldn't find %s\n", dev_name(c->dev));
+       dev_err(smmu->dev, "Couldn't find %s\n", dev_name(dev));
 out:
        spin_unlock(&as->client_lock);
 }