linux_dsm_epyc7002/arch/arm64/mm
Will Deacon 15122ee2c5 arm64: Enforce BBM for huge IO/VMAP mappings
ioremap_page_range doesn't honour break-before-make and attempts to put
down huge mappings (using p*d_set_huge) over the top of pre-existing
table entries. This leads to us leaking page table memory and also gives
rise to TLB conflicts and spurious aborts, which have been seen in
practice on Cortex-A75.

Until this has been resolved, refuse to put block mappings when the
existing entry is found to be present.

Fixes: 324420bf91 ("arm64: add support for ioremap() block mappings")
Reported-by: Hanjun Guo <hanjun.guo@linaro.org>
Reported-by: Lei Li <lious.lilei@hisilicon.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2018-02-22 11:25:53 +00:00
..
cache.S arm64: mm: Add additional parameter to uaccess_ttbr0_disable 2018-01-17 13:57:49 +01:00
context.c arm64: Move BP hardening to check_and_switch_context 2018-01-23 15:40:29 +00:00
copypage.c
dma-mapping.c arm64: use swiotlb_alloc and swiotlb_free 2018-01-15 09:36:02 +01:00
dump.c arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables 2018-02-16 18:13:57 +00:00
extable.c
fault.c arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables 2018-02-16 18:13:57 +00:00
flush.c
hugetlbpage.c arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables 2018-02-16 18:13:57 +00:00
init.c dma mapping changes for Linux 4.16: 2018-01-31 11:32:27 -08:00
ioremap.c
kasan_init.c arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables 2018-02-16 18:13:57 +00:00
Makefile
mmap.c
mmu.c arm64: Enforce BBM for huge IO/VMAP mappings 2018-02-22 11:25:53 +00:00
numa.c
pageattr.c arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables 2018-02-16 18:13:57 +00:00
pgd.c
physaddr.c
proc.S arm64: proc: Set PTE_NG for table entries to avoid traversing them twice 2018-02-14 18:58:20 +00:00
ptdump_debugfs.c