aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2007-12-04 16:09:05 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-12-04 16:09:58 +0100
commit7af0d6f753f5adf773f99470666b50490d3379f1 (patch)
tree19315cae8811d7e0cec5ce7f4ffd21e6b43eb278 /arch/s390/kernel
parent[S390] Fix compile error on 31bit without preemption (diff)
downloadlinux-dev-7af0d6f753f5adf773f99470666b50490d3379f1.tar.xz
linux-dev-7af0d6f753f5adf773f99470666b50490d3379f1.zip
[S390] Make sure the restore psw masks are initialized.
In case of TRACE_IRQFLAGS the restore psw masks will not be initialized if noexec is turned on. This will lead to an immediate system crash. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r--arch/s390/kernel/setup.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 50f8f1e3760e..577aa7dd660e 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -486,9 +486,7 @@ static void setup_addressing_mode(void)
if (s390_noexec) {
printk("S390 execute protection active, ");
set_amode_and_uaccess(PSW_ASC_SECONDARY, PSW32_ASC_SECONDARY);
- return;
- }
- if (switch_amode) {
+ } else if (switch_amode) {
printk("S390 address spaces switched, ");
set_amode_and_uaccess(PSW_ASC_PRIMARY, PSW32_ASC_PRIMARY);
}