1
0
Fork 0
alistair23-linux/drivers/mtd/nand/raw
Thomas Gleixner 2163398192 rslib: Split rs control struct
The decoder library uses variable length arrays on stack. To get rid of
them it would be simple to allocate fixed length arrays on stack, but those
might become rather large. The other solution is to allocate the buffers in
the rs control structure, but this cannot be done as long as the structure
can be shared by several users. Sharing is desired because the RS polynom
tables are large and initialization is time consuming.

To solve this split the codec information out of the control structure and
have a pointer to a shared codec in it. Instantiate the control structure
for each user, create a new codec if no shareable is avaiable yet.  Adjust
all affected usage sites to the new scheme.

This allows to add per instance decoder buffers to the control structure
later on.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Boris Brezillon <boris.brezillon@bootlin.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Segher Boessenkool <segher@kernel.crashing.org>
Cc: Kernel Hardening <kernel-hardening@lists.openwall.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Andrew Morton <akpm@linuxfoundation.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Alasdair Kergon <agk@redhat.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
2018-04-24 19:50:08 -07:00
..
atmel MTD changes: 2018-04-06 12:15:41 -07:00
bcm47xxnflash mtd: rawnand: rename SET/GET FEATURES related functions 2018-03-20 09:33:22 +01:00
brcmnand mtd: rawnand: brcmnand: fix probe function error path 2018-03-29 09:38:18 +02:00
gpmi-nand mtd: rawnand: gpmi: use core timings instead of an empirical derivation 2018-03-20 12:00:00 +01:00
Kconfig Linux 4.16-rc2 2018-04-04 22:13:35 +02:00
Makefile mtd: rawnand: remove bf5xx_nand driver 2018-03-17 15:35:32 +01:00
ams-delta.c
au1550nd.c
cafe_nand.c rslib: Split rs control struct 2018-04-24 19:50:08 -07:00
cmx270_nand.c
cs553x_nand.c
davinci_nand.c mtd: rawnand: davinci: fix probe function error path 2018-03-29 09:38:18 +02:00
denali.c mtd: rawnand: denali: fix probe function error path 2018-03-29 09:38:19 +02:00
denali.h
denali_dt.c
denali_pci.c
diskonchip.c rslib: Split rs control struct 2018-04-24 19:50:08 -07:00
docg4.c mtd: rawnand: rename SET/GET FEATURES related functions 2018-03-20 09:33:22 +01:00
fsl_elbc_nand.c mtd: rawnand: rename SET/GET FEATURES related functions 2018-03-20 09:33:22 +01:00
fsl_ifc_nand.c MTD changes: 2018-04-06 12:15:41 -07:00
fsl_upm.c
fsmc_nand.c
gpio.c
hisi504_nand.c mtd: rawnand: rename SET/GET FEATURES related functions 2018-03-20 09:33:22 +01:00
jz4740_nand.c
jz4780_bch.c
jz4780_bch.h
jz4780_nand.c
lpc32xx_mlc.c
lpc32xx_slc.c
marvell_nand.c mtd: rawnand: marvell: Rename ->ecc_clk into ->core_clk 2018-03-29 09:38:21 +02:00
mpc5121_nfc.c mtd: rawnand: rename SET/GET FEATURES related functions 2018-03-20 09:33:22 +01:00
mtk_ecc.c
mtk_ecc.h
mtk_nand.c
mxc_nand.c mtd: rawnand: mxc: fix probe function error path 2018-03-29 09:38:19 +02:00
nand_amd.c
nand_base.c Core changes: 2018-04-04 22:11:36 +02:00
nand_bbt.c Core changes: 2018-04-04 22:11:36 +02:00
nand_bch.c
nand_ecc.c mtd: rawnand: remove STANDALONE compile mode of nand_ecc 2018-03-15 16:42:33 +01:00
nand_hynix.c
nand_ids.c
nand_macronix.c mtd: rawnand: macronix: nack the support of changing timings for one chip 2018-03-20 11:59:58 +01:00
nand_micron.c mtd: rawnand: allow vendors to declare (un)supported features 2018-03-20 11:59:58 +01:00
nand_samsung.c
nand_timings.c mtd: rawnand: prepare the removal of the ONFI parameter page 2018-03-20 11:59:54 +01:00
nand_toshiba.c
nandsim.c
ndfc.c
nuc900_nand.c
omap2.c mtd: rawnand: omap2: fix the probe function error path 2018-03-29 09:38:20 +02:00
omap_elm.c
orion_nand.c
oxnas_nand.c
pasemi_nand.c
plat_nand.c
qcom_nandc.c mtd: rawnand: rename SET/GET FEATURES related functions 2018-03-20 09:33:22 +01:00
r852.c
r852.h
s3c2410.c mtd: rawnand: s3c2410: enhance the probe function error path 2018-03-29 09:38:21 +02:00
sh_flctl.c mtd: rawnand: sh_flctl: fix the probe function error path 2018-03-29 09:38:20 +02:00
sharpsl.c
sm_common.c
sm_common.h
socrates_nand.c
sunxi_nand.c mtd: rawnand: sunxi: Stop supporting ECC_HW_SYNDROME mode 2018-03-29 09:38:17 +02:00
tango_nand.c mtd: rawnand: tango: fix probe function error path 2018-03-29 09:38:20 +02:00
tmio_nand.c
txx9ndfmc.c
vf610_nfc.c Linux 4.16-rc2 2018-04-04 22:13:35 +02:00
xway_nand.c