Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1430295
| Path | csiph.com!eternal-september.org!feeder.eternal-september.org!news.mixmin.net!news.unit0.net!news.panservice.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | Shunqian Zheng <zhengsq@rock-chips.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH v5 3/8] iommu/rockchip: Fix allocation of bases array in driver probe |
| Date | Fri, 24 Jun 2016 04:20:02 +0200 |
| Message-ID | <rNoSS-230-17@gated-at.bofh.it> (permalink) |
| References | <rNoSR-230-3@gated-at.bofh.it> |
| X-Original-To | joro@8bytes.org, heiko@sntech.de, robh+dt@kernel.org, mark.rutland@arm.com, linux@armlinux.org.uk, mark.yao@rock-chips.com, airlied@linux.ie, tfiga@google.com, xxm@rock-chips.com |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=EO6R125qGQRB5ThupRoA5RotuG5mFlo30Tx8XHRKkZ8=; b=DwcUFfTZQUCHdumGqJNIot2d4qTozc9qXJQ+QCQwvbVjL/Vt5nFwQkihYauv+QBjXQ 1xCZwrkvkg5V3eERaeMtUPPaoomee09iavBrFyRq456K+ngJjaQkURfJ3LdAiTYFUhtR U8QhwyYkKal3WIAypzjd1j9rB1VtDQ2HCPhwWix6bjnmFh+oeyDa+Sp5nGbAf+9WfZuh IcRRJ0pmMf2JUo4O0NmQf0K/I6GvCjlonT262pfjG2OAJcS2tzmo0C+qRNSQKP+25j5N DR3yR9Zl2R/tpQZLFM91E48YkB64nlfJC5qOqNiwI93Dg7NLmiKiwTOFR3OlrgpHGxu1 m73Q== |
| X-Gm-Message-State | ALyK8tIvs2AtSWfkMNkqdrl7/3GbJlgjGHRuAoJDVUzolYx3oXrnit9F70GSNr1okdglig== |
| X-Received | by 10.66.165.40 with SMTP id yv8mr3087550pab.89.1466734503692; Thu, 23 Jun 2016 19:15:03 -0700 (PDT) |
| X-Mailer | git-send-email 1.9.1 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 44 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | linux-arm-kernel@lists.infradead.org, iommu@lists.linux-foundation.org, devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, Shunqian Zheng <zhengsq@rock-chips.com>, Tomasz Figa <tfiga@chromium.org> |
| X-Original-Date | Fri, 24 Jun 2016 10:13:28 +0800 |
| X-Original-Message-ID | <1466734413-7453-4-git-send-email-zhengsq@rock-chips.com> |
| X-Original-References | <1466734413-7453-1-git-send-email-zhengsq@rock-chips.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1430295 |
Show key headers only | View raw
In .probe(), devm_kzalloc() is called with size == 0 and works only
by luck, due to internal behavior of the allocator and the fact
that the proper allocation size is small. Let's use proper value for
calculating the size.
Fixes: cd6438c5f844 ("iommu/rockchip: Reconstruct to support multi slaves")
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
---
drivers/iommu/rockchip-iommu.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
index 53fa0d9..8a5bac7 100644
--- a/drivers/iommu/rockchip-iommu.c
+++ b/drivers/iommu/rockchip-iommu.c
@@ -1034,6 +1034,7 @@ static int rk_iommu_probe(struct platform_device *pdev)
struct device *dev = &pdev->dev;
struct rk_iommu *iommu;
struct resource *res;
+ int num_res = pdev->num_resources;
int i;
iommu = devm_kzalloc(dev, sizeof(*iommu), GFP_KERNEL);
@@ -1043,12 +1044,13 @@ static int rk_iommu_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, iommu);
iommu->dev = dev;
iommu->num_mmu = 0;
- iommu->bases = devm_kzalloc(dev, sizeof(*iommu->bases) * iommu->num_mmu,
+
+ iommu->bases = devm_kzalloc(dev, sizeof(*iommu->bases) * num_res,
GFP_KERNEL);
if (!iommu->bases)
return -ENOMEM;
- for (i = 0; i < pdev->num_resources; i++) {
+ for (i = 0; i < num_res; i++) {
res = platform_get_resource(pdev, IORESOURCE_MEM, i);
if (!res)
continue;
--
1.9.1
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
iommu/rockchip: Fix bugs and enable on ARM64 Shunqian Zheng <zhengsq@rock-chips.com> - 2016-06-24 04:20 +0200
[PATCH v5 7/8] drm/rockchip: Use common IOMMU API to attach devices Shunqian Zheng <zhengsq@rock-chips.com> - 2016-06-24 04:20 +0200
Re: [PATCH v5 7/8] drm/rockchip: Use common IOMMU API to attach devices Mark yao <mark.yao@rock-chips.com> - 2016-07-08 03:00 +0200
[PATCH v5 1/8] iommu/rockchip: Fix devm_{request,free}_irq parameter Shunqian Zheng <zhengsq@rock-chips.com> - 2016-06-24 04:20 +0200
[PATCH v5 2/8] iommu/rockchip: Add map_sg callback for rk_iommu_ops Shunqian Zheng <zhengsq@rock-chips.com> - 2016-06-24 04:20 +0200
[PATCH v5 3/8] iommu/rockchip: Fix allocation of bases array in driver probe Shunqian Zheng <zhengsq@rock-chips.com> - 2016-06-24 04:20 +0200
[PATCH v5 6/8] drm/rockchip: Do not use DMA mapping API if attached to IOMMU domain Shunqian Zheng <zhengsq@rock-chips.com> - 2016-06-24 04:20 +0200
Re: [PATCH v5 6/8] drm/rockchip: Do not use DMA mapping API if attached to IOMMU domain Mark yao <mark.yao@rock-chips.com> - 2016-07-08 03:00 +0200
[PATCH v5 5/8] iommu/rockchip: Prepare to support generic DMA mapping Shunqian Zheng <zhengsq@rock-chips.com> - 2016-06-24 04:20 +0200
[PATCH v5 8/8] iommu/rockchip: Enable Rockchip IOMMU on ARM64 Shunqian Zheng <zhengsq@rock-chips.com> - 2016-06-24 04:20 +0200
Re: iommu/rockchip: Fix bugs and enable on ARM64 Joerg Roedel <joro@8bytes.org> - 2016-06-27 15:00 +0200
Re: iommu/rockchip: Fix bugs and enable on ARM64 Mark yao <mark.yao@rock-chips.com> - 2016-07-08 03:10 +0200
csiph-web