linux/arch/arm64/mm
Punit Agrawal f02ab08afb arm64: hugetlb: Fix huge_pte_offset to return poisoned page table entries
When memory failure is enabled, a poisoned hugepage pte is marked as a
swap entry. huge_pte_offset() does not return the poisoned page table
entries when it encounters PUD/PMD hugepages.

This behaviour of huge_pte_offset() leads to error such as below when
munmap is called on poisoned hugepages.

[  344.165544] mm/pgtable-generic.c:33: bad pmd 000000083af00074.

Fix huge_pte_offset() to return the poisoned pte which is then
appropriately handled by the generic layer code.

Signed-off-by: Punit Agrawal <punit.agrawal@arm.com>
Acked-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: David Woods <dwoods@mellanox.com>
Tested-by: Manoj Iyer <manoj.iyer@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-12 16:04:28 +01:00
..
cache.S arm64: don't pull uaccess.h into *.S 2016-12-26 13:05:17 -05:00
context.c arm64: cache: Remove support for ASID-tagged VIVT I-caches 2017-03-20 16:16:57 +00:00
copypage.c arm64: Defer dcache flush in __cpu_copy_user_page 2015-12-17 11:07:13 +00:00
dma-mapping.c IOMMU Updates for Linux v4.12 2017-05-09 15:15:47 -07:00
dump.c arm64: dump: Add checking for writable and exectuable pages 2016-11-07 18:15:04 +00:00
extable.c arm64: migrate exception table users off module.h and onto extable.h 2016-09-20 09:36:21 +01:00
fault.c arm64: fault: Print info about page table structure when dumping pte 2017-06-12 12:33:54 +01:00
flush.c arm64: cache: Merge cachetype.h into cache.h 2017-03-20 16:16:59 +00:00
hugetlbpage.c arm64: hugetlb: Fix huge_pte_offset to return poisoned page table entries 2017-06-12 16:04:28 +01:00
init.c arm64: kdump: provide /proc/vmcore file 2017-04-05 18:31:38 +01:00
ioremap.c arm64: use is_vmalloc_addr 2017-02-09 13:47:56 +00:00
kasan_init.c arm64: kasan: avoid bad virt_to_pfn() 2017-03-10 17:41:41 +00:00
Makefile arm64: Add support for CONFIG_DEBUG_VIRTUAL 2017-01-12 15:05:39 +00:00
mmap.c arm64: kernel: restrict /dev/mem read() calls to linear region 2017-06-01 18:26:26 +01:00
mmu.c arm64: mm: explicity include linux/vmalloc.h 2017-05-30 11:07:42 +01:00
numa.c ACPI/NUMA: Do not map pxm to node when NUMA is turned off 2016-12-15 11:32:32 +01:00
pageattr.c arm64: use set_memory.h header 2017-05-08 17:15:13 -07:00
pgd.c arm64: mm: drop fixup_init() and mm.h 2016-09-06 19:09:38 +01:00
physaddr.c arm64: Add support for CONFIG_DEBUG_VIRTUAL 2017-01-12 15:05:39 +00:00
proc.S arm64: Avoid clobbering mm in erratum workaround on QDF2400 2017-02-24 10:55:31 +00:00
ptdump_debugfs.c arm64: dump: Make ptdump debugfs a separate option 2016-11-07 18:15:04 +00:00