android_kernel_samsung_univ.../arch/arm/mm
Russell King 1779b33294 ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory
[ Upstream commit 916a008b4b8ecc02fbd035cfb133773dba1ff3d7 ]

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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-25 14:22:13 +01:00
..
abort-ev4.S
abort-ev4t.S
abort-ev5t.S
abort-ev5tj.S
abort-ev6.S
abort-ev7.S
abort-lv4t.S
abort-macro.S
abort-nommu.S
alignment.c
cache-aurora-l2.h
cache-fa.S
cache-feroceon-l2.c
cache-l2x0.c
cache-nop.S
cache-tauros2.c
cache-tauros3.h
cache-uniphier.c
cache-v4.S
cache-v4wb.S
cache-v4wt.S
cache-v6.S
cache-v7.S
cache-xsc3l2.c
context.c
copypage-fa.c
copypage-feroceon.c
copypage-v4mc.c
copypage-v4wb.c
copypage-v4wt.c
copypage-v6.c
copypage-xsc3.c
copypage-xscale.c
dma-mapping.c ARM: dma-mapping: disallow dma_get_sgtable() for non-kernel managed memory 2017-12-25 14:22:13 +01:00
dma.h
dump.c ARM: 8721/1: mm: dump: check hardware RO bit for LPAE 2017-11-30 08:37:19 +00:00
extable.c
fault-armv.c
fault.c ARM: 8692/1: mm: abort uaccess retries upon fatal signal 2017-09-13 14:09:46 -07:00
fault.h
flush.c
fsr-2level.c
fsr-3level.c
highmem.c
hugetlbpage.c
idmap.c
init.c ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE 2017-11-30 08:37:19 +00:00
iomap.c
ioremap.c
Kconfig
l2c-common.c
l2c-l2x0-resume.S
Makefile
mm.h
mmap.c
mmu.c ARM: 8685/1: ensure memblock-limit is pmd-aligned 2017-07-05 14:37:22 +02:00
nommu.c
pabort-legacy.S
pabort-v6.S
pabort-v7.S
pageattr.c
pgd.c
proc-arm7tdmi.S
proc-arm9tdmi.S
proc-arm720.S
proc-arm740.S
proc-arm920.S
proc-arm922.S
proc-arm925.S
proc-arm926.S
proc-arm940.S
proc-arm946.S
proc-arm1020.S
proc-arm1020e.S
proc-arm1022.S
proc-arm1026.S
proc-fa526.S
proc-feroceon.S
proc-macros.S
proc-mohawk.S
proc-sa110.S
proc-sa1100.S
proc-syms.c
proc-v6.S
proc-v7-2level.S
proc-v7-3level.S
proc-v7.S
proc-v7m.S
proc-xsc3.S
proc-xscale.S
pv-fixup-asm.S
tcm.h
tlb-fa.S
tlb-v4.S
tlb-v4wb.S
tlb-v4wbi.S
tlb-v6.S
tlb-v7.S