]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iommu/mediatek: Check return value after calling platform_get_resource()
authorYang Yingliang <yangyingliang@huawei.com>
Sat, 29 Oct 2022 10:35:50 +0000 (18:35 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:26:33 +0000 (13:26 +0100)
[ Upstream commit 73b6924cdebc899de9b719e1319aa86c6bed4acf ]

platform_get_resource() may return NULL pointer, we need check its
return value to avoid null-ptr-deref in resource_size().

Fixes: 42d57fc58aeb ("iommu/mediatek: Initialise/Remove for multi bank dev")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Link: https://lore.kernel.org/r/20221029103550.3774365-1-yangyingliang@huawei.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iommu/mtk_iommu.c

index 7e363b1f24dfe078a4c4c1ecea4def3f782de82b..0c1c0d8e4d06b14a8f4f4a6a0fde491d2027c897 100644 (file)
@@ -1170,6 +1170,8 @@ static int mtk_iommu_probe(struct platform_device *pdev)
 
        banks_num = data->plat_data->banks_num;
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (!res)
+               return -EINVAL;
        if (resource_size(res) < banks_num * MTK_IOMMU_BANK_SZ) {
                dev_err(dev, "banknr %d. res %pR is not enough.\n", banks_num, res);
                return -EINVAL;