summaryrefslogtreecommitdiffstats
path: root/arch/s390/mm
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2017-03-29 17:12:47 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2017-03-29 17:36:23 +0100
commit916a008b4b8ecc02fbd035cfb133773dba1ff3d7 (patch)
treef6351a31fb0e342e73862f4a7c3425d8c418033e /arch/s390/mm
parenta1016e94cce9fb6ea56d7602263783e2d95d6e92 (diff)
downloadlinux-916a008b4b8ecc02fbd035cfb133773dba1ff3d7.tar.gz
linux-916a008b4b8ecc02fbd035cfb133773dba1ff3d7.tar.bz2
linux-916a008b4b8ecc02fbd035cfb133773dba1ff3d7.zip
ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
dma_get_sgtable() tries to create a scatterlist table containing valid struct page pointers for the coherent memory allocation passed in to it. However, memory can be declared via dma_declare_coherent_memory(), or via other reservation schemes which means that coherent memory is not guaranteed to be backed by struct pages. In such cases, the resulting scatterlist table contains pointers to invalid pages, which causes kernel oops later. This patch adds detection of such memory, and refuses to create a scatterlist table for such memory. Reported-by: Shuah Khan <shuahkhan@gmail.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/s390/mm')
0 files changed, 0 insertions, 0 deletions