s390: clean .bss before running uncompressed kernel
authorVasily Gorbik <gor@linux.ibm.com>
Sun, 11 Aug 2019 18:55:18 +0000 (20:55 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 21 Aug 2019 10:58:52 +0000 (12:58 +0200)
commit2e83e0eb85ca62985406920f97ece36d822d421f
treeb4d13c99106c0f44bb7c1e9b8465a00386e489ff
parent19413fe04f49b32c63b470079afef8d1c7995cc1
s390: clean .bss before running uncompressed kernel

Clean uncompressed kernel .bss section in the startup code before
the uncompressed kernel is executed. At this point of time initrd and
certificates have been already rescued. Uncompressed kernel .bss size
is known from vmlinux_info. It is also taken into consideration during
uncompressed kernel positioning by kaslr (so it is safe to clean it).

With that uncompressed kernel is starting with .bss section zeroed and
no .bss section usage restrictions apply. Which makes chkbss checks for
uncompressed kernel objects obsolete and they can be removed.

early_nobss.c is also not needed anymore. Parts of it which are still
relevant are moved to early.c. Kasan initialization code is now called
directly from head64 (early.c is instrumented and should not be
executed before kasan shadow memory is set up).

Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/boot/startup.c
arch/s390/kernel/Makefile
arch/s390/kernel/early.c
arch/s390/kernel/early_nobss.c [deleted file]
arch/s390/kernel/head64.S
arch/s390/lib/Makefile
drivers/s390/char/Makefile