mtd: nand: check ecc->total sanity in nand_scan_tail
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 25 May 2017 04:50:20 +0000 (13:50 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Apr 2018 17:48:15 +0000 (19:48 +0200)
commit2d0eb3f188e1de0fadaca05b413ea44c217fa7dd
treed5f52eddc07e3a9b06f6e40d0111a36134a72233
parent8bf4782062a0a0f6b9ca68f3f6625e1a5fe455fc
mtd: nand: check ecc->total sanity in nand_scan_tail

[ Upstream commit 79e0348c4e24fd1affdcf055e0269755580e0fcc ]

Drivers are supposed to set correct ecc->{size,strength,bytes} before
calling nand_scan_tail(), but it does not complain about ecc->total
bigger than oobsize.

In this case, chip->scan_bbt() crashes due to memory corruption, but
it is hard to debug.  It would be kind to fail it earlier with a clear
message.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/nand/nand_base.c