On Fri, Jun 26, 2020 at 06:32:15PM +0200, Heiko Carstens wrote: > On Fri, Apr 17, 2020 at 05:01:51PM +0200, David Hildenbrand wrote: > > Commit 50be63450728 ("s390/mm: Convert bootmem to memblock") mentions > > "The original bootmem allocator is getting replaced by memblock. To > > cover the needs of the s390 kdump implementation the physical > > memory list is used." > > > > zcore was converted to use resources instead of memblocks. > > memblock_discard() will *not* mess with "physmem", only with "memory" and > > "reserved" memblocks. So, that data will stay after early boot, to be > > used in arch/s390/kernel/crash_dump.c to create the ELF header from > > inside the 2nd (a.k.a. dumping) kernel. > > > > We no longer need ARCH_KEEP_MEMBLOCK. > > > > Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > > Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx> > > Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> > > Cc: Philipp Rudo <prudo@xxxxxxxxxxxxx> > > Cc: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> > > Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> > > --- > > arch/s390/Kconfig | 1 - > > 1 file changed, 1 deletion(-) > > Applied, thanks! Hmm, this triggers: WARNING: modpost: vmlinux.o(.text+0x1e7c2): Section mismatch in reference from the function elfcorehdr_alloc() to the variable .meminit.data:memblock The function elfcorehdr_alloc() references the variable __meminitdata memblock. This is often because elfcorehdr_alloc lacks a __meminitdata annotation or the annotation of memblock is wrong. WARNING: modpost: vmlinux.o(.text+0x1e800): Section mismatch in reference from the function elfcorehdr_alloc() to the function .meminit.text:__next_mem_range() The function elfcorehdr_alloc() references the function __meminit __next_mem_range(). This is often because elfcorehdr_alloc lacks a __meminit annotation or the annotation of __next_mem_range is wrong. WARNING: modpost: vmlinux.o(.text+0x1e844): Section mismatch in reference from the function elfcorehdr_alloc() to the function .meminit.text:__next_mem_range() The function elfcorehdr_alloc() references the function __meminit __next_mem_range(). This is often because elfcorehdr_alloc lacks a __meminit annotation or the annotation of __next_mem_range is wrong. So, reverted again ;)