mtd: rawnand: fsmc: Fix unchecked return value in fsmc_read_page_hwecc
Subsystems (2)
PATCH 1/1 mtd: rawnand: fsmc: Fix unchecked return value in fsmc_read_page_hwecc
Check return value of nand_read_data_op.
Notice that, currently, all instances of nand_read_data_op() are being checked, with the exception of two of them in marvell_nand driver, in which the caller function explicitly returns 0 every time.
Also, notice that I moved the declaration of *ret* to the top of fsmc_read_page_hwecc().
Addresses-Coverity-ID: 1471968 ("Unchecked return value")
--- drivers/mtd/nand/raw/fsmc_nand.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
drivers/mtd/nand/raw/fsmc_nand.c +4 -3
@@ -727,7 +727,7 @@ static int fsmc_read_page_hwecc(struct nand_chip *chip, uint8_t *buf,uint8_t *p = buf;uint8_t *ecc_calc = chip->ecc.calc_buf;uint8_t *ecc_code = chip->ecc.code_buf; -int off, len, group =0 ; +int off, len, ret, group =0 ;/* * ecc_oob is intentionally taken as uint16_t. In 16bit devices, we * end up reading 14 bytes (7 words) from oob. The local array is
@@ -740,11 +740,12 @@ static int fsmc_read_page_hwecc(struct nand_chip *chip, uint8_t *buf,for (i =0 , s =0 ; s < eccsteps; s++, i += eccbytes, p += eccsize) {nand_read_page_op (chip, page, s * eccsize,NULL ,0 ); chip->ecc.hwctl (chip,NAND_ECC_READ ); -nand_read_data_op (chip, p, eccsize, false); + ret =nand_read_data_op (chip, p, eccsize, false); +if (ret) +return ret;for (j =0 ; j < eccbytes;) {struct mtd_oob_region oobregion; -int ret; ret =mtd_ooblayout_ecc (mtd, group++, &oobregion);if (ret)
Signature · 1 line
2.7.4
Hi Gustavo,
"Gustavo A. R. Silva" <[email protected]> wrote on Wed, 10 Oct 2018 17:58:58 +0200:
Quoted 7 lines
Check return value of
nand_read_data_op.Notice that, currently, all instances of
nand_read_data_op()are being checked, with the exception of two of them inmarvell_nanddriver, in which the caller function explicitly returns 0 every time.
Quoted 6 lines
Also, notice that I moved the declaration of *ret* to the top of
fsmc_read_page_hwecc().Addresses-Coverity-ID: 1471968 ("Unchecked return value")
Signed-off-by Gustavo A. R. Silva <[email protected]>---
Applied to nand/next.
Thanks,
Miquèl