]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: wpcm-fiu: Fix potential NULL pointer dereference in wpcm_fiu_probe()
authorFelix Gu <ustc.gu@gmail.com>
Thu, 12 Feb 2026 12:41:40 +0000 (20:41 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 13 Feb 2026 17:08:24 +0000 (17:08 +0000)
platform_get_resource_byname() can return NULL, which would cause a crash
when passed the pointer to resource_size().

Move the fiu->memory_size assignment after the error check for
devm_ioremap_resource() to prevent the potential NULL pointer dereference.

Fixes: 9838c182471e ("spi: wpcm-fiu: Add direct map support")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Reviewed-by: J. Neuschäfer <j.ne@posteo.net>
Link: https://patch.msgid.link/20260212-wpcm-v1-1-5b7c4f526aac@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-wpcm-fiu.c

index 0e3ee5516587188fea372ec62a169354671d5927..0e26ff1785056595395054ba78cac86d6602e1ed 100644 (file)
@@ -459,11 +459,11 @@ static int wpcm_fiu_probe(struct platform_device *pdev)
 
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "memory");
        fiu->memory = devm_ioremap_resource(dev, res);
-       fiu->memory_size = min_t(size_t, resource_size(res), MAX_MEMORY_SIZE_TOTAL);
        if (IS_ERR(fiu->memory))
                return dev_err_probe(dev, PTR_ERR(fiu->memory),
                               "Failed to map flash memory window\n");
 
+       fiu->memory_size = min_t(size_t, resource_size(res), MAX_MEMORY_SIZE_TOTAL);
        fiu->shm_regmap = syscon_regmap_lookup_by_phandle_optional(dev->of_node, "nuvoton,shm");
 
        wpcm_fiu_hw_init(fiu);