linux-stable/arch/s390
Martin Schwidefsky b52bdf5313 s390/setup: fix early warning messages
commit 8727638426 upstream.

The setup_lowcore() function creates a new prefix page for the boot CPU.
The PSW mask for the system_call, external interrupt, i/o interrupt and
the program check handler have the DAT bit set in this new prefix page.

At the time setup_lowcore is called the system still runs without virtual
address translation, the paging_init() function creates the kernel page
table and loads the CR13 with the kernel ASCE.

Any code between setup_lowcore() and the end of paging_init() that has
a BUG or WARN statement will create a program check that can not be
handled correctly as there is no kernel page table yet.

To allow early WARN statements initially setup the lowcore with DAT off
and set the DAT bit only after paging_init() has completed.

Cc: stable@vger.kernel.org
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-23 20:09:58 +01:00
..
appldata s390/appldata: reuse generic proc handler functions 2018-07-06 08:48:08 +02:00
boot s390/decompressor: add missing FORCE to build targets 2018-11-27 16:13:02 +01:00
configs s390: update defconfigs 2018-04-27 06:51:31 +02:00
crypto s390/crypto: Fix return code checking in cbc_paes_crypt() 2018-09-04 10:58:17 +02:00
hypfs s390/hypfs: Replace PTR_RET with PTR_ERR_OR_ZERO 2018-07-19 16:37:36 +02:00
include s390/zcrypt: improve special ap message cmd handling 2019-02-12 19:47:04 +01:00
kernel s390/setup: fix early warning messages 2019-03-23 20:09:58 +01:00
kvm KVM: s390: Make huge pages unavailable in ucontrol VMs 2018-09-12 14:46:37 +02:00
lib s390/lib: use expoline for all bcr instructions 2018-08-07 13:38:13 +02:00
mm s390/mm: fix mis-accounting of pgtable_bytes 2018-11-27 16:13:03 +01:00
net Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2018-08-13 19:07:17 -07:00
numa s390/mm: Fix ERROR: "__node_distance" undefined! 2018-11-27 16:13:03 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci s390/pci: fix sleeping in atomic during hotplug 2019-01-09 17:38:41 +01:00
purgatory Kbuild updates for v4.19 2018-08-15 12:09:03 -07:00
scripts s390/build: add *.o.chkbss files to targets list 2018-07-02 12:32:23 +02:00
tools Minor code cleanups for PPC. 2018-08-19 10:38:36 -07:00
defconfig crypto: speck - remove Speck 2018-11-13 11:08:46 -08:00
Kbuild s390/kexec_file: Add purgatory 2018-04-16 09:10:22 +02:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2018-08-24 09:31:34 -07:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Makefile kbuild: rename LDFLAGS to KBUILD_LDFLAGS 2018-08-24 08:22:08 +09:00