All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mtd: nand: ecc-mxic: Fix use of uninitialized variable ret
@ 2025-04-08 21:39 ` Mikhail Arkhipov
  0 siblings, 0 replies; 6+ messages in thread
From: Mikhail Arkhipov @ 2025-04-08 21:39 UTC (permalink / raw)
  To: Miquel Raynal
  Cc: Mikhail Arkhipov, Richard Weinberger, Vignesh Raghavendra,
	linux-mtd, linux-kernel, lvc-project

If ctx->steps is zero, the loop processing ECC steps is skipped,
and the variable ret remains uninitialized. It is later checked
and returned, which leads to undefined behavior and may cause
unpredictable results in user space or kernel crashes.

This scenario can be triggered in edge cases such as misconfigured
geometry, ECC engine misuse, or if ctx->steps is not validated
after initialization.

Initialize ret to zero before the loop to ensure correct and safe
behavior regardless of the ctx->steps value.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 48e6633a9fa2 ("mtd: nand: mxic-ecc: Add Macronix external ECC engine support")
Signed-off-by: Mikhail Arkhipov <m.arhipov@rosa.ru>
---
 drivers/mtd/nand/ecc-mxic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/ecc-mxic.c b/drivers/mtd/nand/ecc-mxic.c
index 6b487ffe2f2d..e8bbe009c04e 100644
--- a/drivers/mtd/nand/ecc-mxic.c
+++ b/drivers/mtd/nand/ecc-mxic.c
@@ -614,7 +614,7 @@ static int mxic_ecc_finish_io_req_external(struct nand_device *nand,
 {
 	struct mxic_ecc_engine *mxic = nand_to_mxic(nand);
 	struct mxic_ecc_ctx *ctx = nand_to_ecc_ctx(nand);
-	int nents, step, ret;
+	int nents, step, ret = 0;
 
 	if (req->mode == MTD_OPS_RAW)
 		return 0;
-- 
2.39.5 (Apple Git-154)


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-04-29  9:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-08 21:39 [PATCH] mtd: nand: ecc-mxic: Fix use of uninitialized variable ret Mikhail Arkhipov
2025-04-08 21:39 ` Mikhail Arkhipov
2025-04-09  7:38 ` Miquel Raynal
2025-04-09  7:38   ` Miquel Raynal
2025-04-29  9:26 ` Miquel Raynal
2025-04-29  9:26   ` Miquel Raynal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.