linux/arch/s390/mm
Gerald Schaefer 892365ab4d [S390] memory hotplug: prevent memory zone interleave
This fixes a kernel oops with CONFIG_DEBUG_VM triggered by a
VM_BUG_ON(bad_range()): kernel BUG at mm/page_alloc.c:748.

With memory hotplug on System z, it is possible that the memory
online/offline state is preserved over a system restart, e.g. there
may be offline memory blocks in ZONE_DMA or ZONE_NORMAL. So far,
the offline memory range has always been added to ZONE_MOVABLE during
system start, so that it was possible to have ZONE_MOVABLE interleave
with ZONE_DMA or ZONE_NORMAL. This patch fixes that by checking for
zone overlap before adding memory.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-02-24 18:01:36 +01:00
..
cmm.c [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
extmem.c [S390] extmem: get rid of compile warning 2011-05-23 10:24:29 +02:00
fault.c [S390] cleanup trap handling 2011-12-27 11:27:12 +01:00
gup.c thp: share get_huge_page_tail() 2011-11-02 16:06:58 -07:00
hugetlbpage.c [S390] kvm guest address space mapping 2011-07-24 10:48:21 +02:00
init.c [S390] memory hotplug: prevent memory zone interleave 2012-02-24 18:01:36 +01:00
maccess.c [S390] Add real memory access functions 2011-10-30 15:16:42 +01:00
Makefile [S390] Write protect module text and RO data 2011-03-15 17:08:23 +01:00
mmap.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
page-states.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pageattr.c [S390] sparse: fix sparse warnings about missing prototypes 2011-10-30 15:16:46 +01:00
pgtable.c [S390] incorrect PageTables counter for kvm page tables 2012-02-17 10:29:33 +01:00
vmem.c [S390] kdump backend code 2011-10-30 15:16:42 +01:00