linux/drivers/mtd/devices
Dan Carpenter 3e3765875b mtd: phram: Prevent divide by zero bug in phram_setup()
The problem is that "erasesize" is a uint64_t type so it might be
non-zero but the lower 32 bits are zero so when it's truncated,
"(uint32_t)erasesize", then that value is zero. This leads to a
divide by zero bug.

Avoid the bug by delaying the divide until after we have validated
that "erasesize" is non-zero and within the uint32_t range.

Fixes: dc2b3e5cbc ("mtd: phram: use div_u64_rem to stop overwrite len in phram_setup")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220121115505.GI1978@kadam
2022-01-25 10:32:07 +01:00
..
bcm47xxsflash.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
bcm47xxsflash.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block2mtd.c mtd: block2mtd: add support for an optional custom MTD label 2021-10-15 12:30:35 +02:00
docg3.c mtd: devices: docg3: Fix kernel-doc 'bad line' and 'excessive doc' issues 2020-11-20 12:37:30 +01:00
docg3.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
Kconfig mtd: devices: add support for microchip 48l640 EERAM 2021-06-11 20:43:12 +02:00
lart.c mtd: Avoid comma separated statements 2020-08-27 14:16:31 +02:00
Makefile mtd: devices: add support for microchip 48l640 EERAM 2021-06-11 20:43:12 +02:00
mchp23k256.c mtd: mchp23k256: Warn about failure to unregister mtd device 2021-12-03 14:27:19 +01:00
mchp48l640.c mtd: mchp48l640: Warn about failure to unregister mtd device 2021-12-03 14:27:19 +01:00
ms02-nv.c mtd: devices: Remove superfluous "break" 2021-05-26 10:58:26 +02:00
ms02-nv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mtd_dataflash.c MTD core changes: 2022-01-11 11:35:28 -08:00
mtdram.c mtd: mtdram: Expose module parameters 2019-01-08 12:42:57 +01:00
phram.c mtd: phram: Prevent divide by zero bug in phram_setup() 2022-01-25 10:32:07 +01:00
pmc551.c mtd: pmc551: Remove set but not used variable 'soff_lo' 2019-09-15 23:51:07 +02:00
powernv_flash.c mtd: devices: powernv_flash: Add function names to headers and fix 'dev' 2020-11-20 12:37:33 +01:00
serial_flash_cmds.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 420 2019-06-05 17:37:15 +02:00
slram.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
spear_smi.c mtd: spear_smi: use for_each_child_of_node() macro 2020-09-15 10:14:36 +02:00
sst25l.c mtd: sst25l: Warn about failure to unregister mtd device 2021-12-03 14:27:19 +01:00
st_spi_fsm.c mtd: st_spi_fsm: convert comma to semicolon 2021-02-01 18:58:38 +01:00