]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mtd: nand: ecc-mxic: Fix use of uninitialized variable ret
authorMikhail Arkhipov <m.arhipov@rosa.ru>
Tue, 8 Apr 2025 21:39:06 +0000 (00:39 +0300)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 29 Apr 2025 09:05:35 +0000 (11:05 +0200)
commitd95846350aac72303036a70c4cdc69ae314aa26d
tree08c527de77c8ab3adf82a5b7ce67e5b2f8b98443
parent25e08bf666607f572d5b9b87b0728d126b9bdef9
mtd: nand: ecc-mxic: Fix use of uninitialized variable ret

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>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/ecc-mxic.c