From e8b7d11c7e4b88c4988f2c740e9303f39a8c2ec4 Mon Sep 17 00:00:00 2001 From: Markus Elfring Date: Wed, 27 Dec 2023 13:21:52 +0100 Subject: mtd: ssfdc: One function call less in ssfdcr_add_mtd() after error detection The kfree() function was called in one case by the ssfdcr_add_mtd() function during error handling even if the passed data structure member contained a null pointer. This issue was detected by using the Coccinelle software. Thus use another label. Signed-off-by: Markus Elfring Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/56d92e42-db9e-4767-bcb1-9686bdf34a03@web.de --- drivers/mtd/ssfdc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/mtd/ssfdc.c') diff --git a/drivers/mtd/ssfdc.c b/drivers/mtd/ssfdc.c index 211f279a33a9..3ee8535d4515 100644 --- a/drivers/mtd/ssfdc.c +++ b/drivers/mtd/ssfdc.c @@ -332,7 +332,7 @@ static void ssfdcr_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd) kmalloc_array(ssfdc->map_len, sizeof(ssfdc->logic_block_map[0]), GFP_KERNEL); if (!ssfdc->logic_block_map) - goto out_err; + goto out_free_ssfdc; memset(ssfdc->logic_block_map, 0xff, sizeof(ssfdc->logic_block_map[0]) * ssfdc->map_len); @@ -350,6 +350,7 @@ static void ssfdcr_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd) out_err: kfree(ssfdc->logic_block_map); +out_free_ssfdc: kfree(ssfdc); } -- cgit v1.2.3 From 086cd7a6c50bb3206fc08e0a850daaabef03e810 Mon Sep 17 00:00:00 2001 From: Markus Elfring Date: Wed, 27 Dec 2023 15:17:58 +0100 Subject: mtd: ssfdc: Fix indentation in ssfdcr_add_mtd() Replace eight space characters by one tab. Signed-off-by: Markus Elfring Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/4045abdd-fb88-4c1f-a947-cdb3d4e59aa6@web.de --- drivers/mtd/ssfdc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/mtd/ssfdc.c') diff --git a/drivers/mtd/ssfdc.c b/drivers/mtd/ssfdc.c index 3ee8535d4515..e6de25087647 100644 --- a/drivers/mtd/ssfdc.c +++ b/drivers/mtd/ssfdc.c @@ -351,7 +351,7 @@ static void ssfdcr_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd) out_err: kfree(ssfdc->logic_block_map); out_free_ssfdc: - kfree(ssfdc); + kfree(ssfdc); } static void ssfdcr_remove_dev(struct mtd_blktrans_dev *dev) -- cgit v1.2.3 From 0d9a4164ba4929bbc231eef438d4cba1caee9d25 Mon Sep 17 00:00:00 2001 From: Markus Elfring Date: Wed, 27 Dec 2023 15:30:06 +0100 Subject: mtd: ssfdc: Improve a size determination in ssfdcr_add_mtd() Replace the specification of a data structure by a pointer dereference as the parameter for the operator "sizeof" to make the corresponding size determination a bit safer according to the Linux coding style convention. Signed-off-by: Markus Elfring Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/b7ee7d1b-49a2-41d8-9c8f-3674f1aecc43@web.de --- drivers/mtd/ssfdc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/mtd/ssfdc.c') diff --git a/drivers/mtd/ssfdc.c b/drivers/mtd/ssfdc.c index e6de25087647..46c01fa2ec46 100644 --- a/drivers/mtd/ssfdc.c +++ b/drivers/mtd/ssfdc.c @@ -295,7 +295,7 @@ static void ssfdcr_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd) if (cis_sector == -1) return; - ssfdc = kzalloc(sizeof(struct ssfdcr_record), GFP_KERNEL); + ssfdc = kzalloc(sizeof(*ssfdc), GFP_KERNEL); if (!ssfdc) return; -- cgit v1.2.3