]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mtd: rawnand: intel: check return value of devm_kasprintf()
authorYi Yang <yiyang13@huawei.com>
Thu, 19 Oct 2023 06:55:37 +0000 (06:55 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:14:52 +0000 (17:14 +0000)
[ Upstream commit 74ac5b5e2375f1e8ef797ac7770887e9969f2516 ]

devm_kasprintf() returns a pointer to dynamically allocated memory
which can be NULL upon failure. Ensure the allocation was successful by
checking the pointer validity.

Fixes: 0b1039f016e8 ("mtd: rawnand: Add NAND controller support on Intel LGM SoC")
Signed-off-by: Yi Yang <yiyang13@huawei.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20231019065537.318391-1-yiyang13@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/nand/raw/intel-nand-controller.c

index a9909eb081244ed2002237a1ba42304c43cc8831..8231e9828dce7d9bf5a2fd1f5a303c0cd1911896 100644 (file)
@@ -619,6 +619,11 @@ static int ebu_nand_probe(struct platform_device *pdev)
        ebu_host->cs_num = cs;
 
        resname = devm_kasprintf(dev, GFP_KERNEL, "nand_cs%d", cs);
+       if (!resname) {
+               ret = -ENOMEM;
+               goto err_of_node_put;
+       }
+
        ebu_host->cs[cs].chipaddr = devm_platform_ioremap_resource_byname(pdev,
                                                                          resname);
        if (IS_ERR(ebu_host->cs[cs].chipaddr)) {
@@ -655,6 +660,11 @@ static int ebu_nand_probe(struct platform_device *pdev)
        }
 
        resname = devm_kasprintf(dev, GFP_KERNEL, "addr_sel%d", cs);
+       if (!resname) {
+               ret = -ENOMEM;
+               goto err_cleanup_dma;
+       }
+
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, resname);
        if (!res) {
                ret = -EINVAL;