On 04/11/2018 05:17 PM, Thor Thayer wrote: > Hi. Any comments on this patch?
None other than Reviewed-by: Marek Vasut <marek.va...@gmail.com> sorry for the delay. btw stop top-posting please. > On 03/26/2018 09:12 AM, thor.tha...@linux.intel.com wrote: >> From: Thor Thayer <thor.tha...@linux.intel.com> >> >> The current Cadence QSPI driver caused a kernel panic when loading >> a Root Filesystem from QSPI. The problem was caused by reading more >> bytes than needed because the QSPI operated on 4 bytes at a time. >> <snip> >> [ 7.947754] spi_nor_read[1048]:from 0x037cad74, len 1 [bfe07fff] >> [ 7.956247] cqspi_read[910]:offset 0x58502516, buffer=bfe07fff >> [ 7.956247] >> [ 7.966046] Unable to handle kernel paging request at virtual >> address bfe08002 >> [ 7.973239] pgd = eebfc000 >> [ 7.975931] [bfe08002] *pgd=2fffb811, *pte=00000000, *ppte=00000000 >> </snip> >> Notice above how only 1 byte needed to be read but by reading 4 bytes >> into the end of a mapped page, an unrecoverable page fault occurred. >> >> This patch uses a temporary buffer to hold the 4 bytes read and then >> copies only the bytes required into the buffer. A min() function is >> used to limit the length to prevent buffer overflows. >> >> Request testing of this patch on other platforms. This was tested >> on the Intel Arria10 SoCFPGA DevKit. >> >> Signed-off-by: Thor Thayer <thor.tha...@linux.intel.com> [...] -- Best regards, Marek Vasut