ar71xx: fix invalid pointer dereference in rb95x_nand_scan_fixup()
authorGabor Juhos <juhosg@freemail.hu>
Tue, 12 Dec 2017 20:49:50 +0000 (21:49 +0100)
committerJohn Crispin <john@phrozen.org>
Fri, 15 Dec 2017 23:00:25 +0000 (00:00 +0100)
commit665bb2749906aff4d4ec607a308353fa30cb1b3a
tree799010fadb4db241b1290c53c61d0f1f8d71fa96
parent2ecc4131077b26ed8b95b88dea870b1f3a9444c2
ar71xx: fix invalid pointer dereference in rb95x_nand_scan_fixup()

Since Linux 4.6, mtd->priv no longer points to the NAND specific
structure. Under 4.9 it contains NULL, thus using it to access
chip->options causes an invalid pointer dereference (FS#1200).

Update the code to use the mtd_to_nand() helper under 4.9 to obtain
the address of the chip specific data.

Fixes: 7bbf4117c6fe ("ar71xx: Add kernel 4.9 support")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c