android_kernel_oneplus_msm8998/mm
Hugh Dickins a4f1de1766 mm: fix kernel BUG at huge_memory.c:1474!
Andrea's autonuma-benchmark numa01 hits kernel BUG at huge_memory.c:1474!
in change_huge_pmd called from change_protection from change_prot_numa
from task_numa_work.

That BUG, introduced in the huge zero page commit cad7f613c4 ("thp:
change_huge_pmd(): make sure we don't try to make a page writable")
was trying to verify that newprot never adds write permission to an
anonymous huge page; but Automatic NUMA Balancing's 4b10e7d562 ("mm:
mempolicy: Implement change_prot_numa() in terms of change_protection()")
adds a new prot_numa path into change_huge_pmd(), which makes no use of
the newprot provided, and may retain the write bit in the pmd.

Just move the BUG_ON(pmd_write(entry)) up into the !prot_numa block.

Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-12-16 19:02:38 -08:00
..
backing-dev.c
balloon_compaction.c mm: introduce a common interface for balloon pages mobility 2012-12-11 17:22:26 -08:00
bootmem.c mm/bootmem.c: remove unused wrapper function reserve_bootmem_generic() 2012-12-12 17:38:35 -08:00
bounce.c
cleancache.c
compaction.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
debug-pagealloc.c
dmapool.c dmapool: make DMAPOOL_DEBUG detect corruption of free marker 2012-12-11 17:22:24 -08:00
fadvise.c
failslab.c
filemap.c
filemap_xip.c
fremap.c
frontswap.c
highmem.c mm, highmem: get virtual address of the page using PKMAP_ADDR() 2012-12-11 17:22:24 -08:00
huge_memory.c mm: fix kernel BUG at huge_memory.c:1474! 2012-12-16 19:02:38 -08:00
hugetlb.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
hugetlb_cgroup.c
hwpoison-inject.c
init-mm.c
internal.h Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
interval_tree.c
Kconfig Merge branch 'akpm' (Andrew's patch-bomb) 2012-12-13 13:11:15 -08:00
Kconfig.debug
kmemcheck.c
kmemleak-test.c
kmemleak.c
ksm.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
maccess.c
madvise.c
Makefile mm: introduce a common interface for balloon pages mobility 2012-12-11 17:22:26 -08:00
memblock.c
memcontrol.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
memory-failure.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
memory.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
memory_hotplug.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
mempolicy.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
mempool.c
migrate.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
mincore.c
mlock.c
mm_init.c
mmap.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
mremap.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
msync.c
nobootmem.c mm: introduce new field "managed_pages" to struct zone 2012-12-12 17:38:34 -08:00
nommu.c
oom_kill.c mm, oom: remove redundant sleep in pagefault oom handler 2012-12-12 17:38:34 -08:00
page-writeback.c
page_alloc.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
page_cgroup.c memcontrol: use N_MEMORY instead N_HIGH_MEMORY 2012-12-12 17:38:32 -08:00
page_io.c
page_isolation.c
pagewalk.c thp: change split_huge_page_pmd() interface 2012-12-12 17:38:31 -08:00
percpu-km.c
percpu-vm.c
percpu.c
pgtable-generic.c
process_vm_access.c
quicklist.c
readahead.c
rmap.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00
shmem.c tmpfs: support SEEK_DATA and SEEK_HOLE (reprise) 2012-12-12 17:38:35 -08:00
slab.c
slab.h
slab_common.c
slob.c
slub.c
sparse-vmemmap.c
sparse.c
swap.c
swap_state.c
swapfile.c mm, oom: fix race when specifying a thread as the oom origin 2012-12-11 17:22:27 -08:00
truncate.c
util.c
vmalloc.c
vmscan.c vmscan: use N_MEMORY instead N_HIGH_MEMORY 2012-12-12 17:38:33 -08:00
vmstat.c Automatic NUMA Balancing V11 2012-12-16 15:18:08 -08:00