linux/drivers/mtd/nand
Erick Archer e395036504 mtd: rawnand: Prefer struct_size over open coded arithmetic
This is an effort to get rid of all multiplications from allocation
functions in order to prevent integer overflows [1].

As the "chip" variable is a pointer to "struct mtk_nfc_nand_chip" and
this structure ends in a flexible array:

struct mtk_nfc_nand_chip {
	[...]
	u8 sels[] __counted_by(nsels);
};

the preferred way in the kernel is to use the struct_size() helper to
do the arithmetic instead of the argument "size + count * size" in the
devm_kzalloc() function.

This way, the code is more readable and safer.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments [1]
Link: https://github.com/KSPP/linux/issues/160 [2]
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Erick Archer <erick.archer@gmx.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20240211091633.4545-1-erick.archer@gmx.com
2024-02-26 11:36:17 +01:00
..
onenand Raw NAND core changes: 2023-08-28 16:37:38 +02:00
raw mtd: rawnand: Prefer struct_size over open coded arithmetic 2024-02-26 11:36:17 +01:00
spi mtd: spinand: esmt: Extend IDs to 5 bytes 2024-02-05 14:23:53 +01:00
bbt.c mtd: nand: bbt: Use the bitmap API to allocate bitmaps 2022-09-20 10:06:58 +02:00
core.c mtd: nand: drop EXPORT_SYMBOL_GPL for nanddev_erase() 2022-11-07 17:17:20 +01:00
ecc-mtk.c mtd: nand: ecc-mtk: Add ECC support fot MT7986 IC 2023-02-03 19:09:44 +01:00
ecc-mxic.c mtd: Explicitly include correct DT includes 2023-07-27 17:03:41 +02:00
ecc-sw-bch.c mtd: nand: ecc-bch: Use the public nsteps field 2021-03-11 09:37:28 +01:00
ecc-sw-hamming.c mtd: rawnand: Let callers use the bare Hamming helpers 2021-10-15 12:20:59 +02:00
ecc.c mtd: Explicitly include correct DT includes 2023-07-27 17:03:41 +02:00
Kconfig mtd: nand: MTD_NAND_ECC_MEDIATEK should depend on ARCH_MEDIATEK 2022-05-12 16:43:04 +02:00
Makefile mtd: nand: make mtk_ecc.c a separated module 2022-04-27 18:12:35 +02:00