Blob Blame History Raw
From: Masahiro Yamada <yamada.masahiro@socionext.com>
Date: Thu, 26 Dec 2019 18:50:56 +0900
Subject: iommu/arm-smmu-v3: Fix resource_size check
Git-commit: 322a9bbb720cd273d2967a375d1887199b361528
Patch-mainline: v5.6-rc1
References: bsc#1175713

This is an off-by-one mistake.

resource_size() returns res->end - res->start + 1.

Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Will Deacon <will@kernel.org>
Acked-by: Joerg Roedel <jroedel@suse.de>
---
 drivers/iommu/arm-smmu-v3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
index a4ee956b8968..5c42c686cffe 100644
--- a/drivers/iommu/arm-smmu-v3.c
+++ b/drivers/iommu/arm-smmu-v3.c
@@ -3632,7 +3632,7 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 
 	/* Base address */
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (resource_size(res) + 1 < arm_smmu_resource_size(smmu)) {
+	if (resource_size(res) < arm_smmu_resource_size(smmu)) {
 		dev_err(dev, "MMIO region too small (%pr)\n", res);
 		return -EINVAL;
 	}