Browse Source

[PATCH] lockdep: s390 turn validator off in machine-check handler

Machine checks on s390 are always enabled (except in the machine check handler
itself).  Therefore use lockdep_off()/on() in the machine check handler to
avoid deadlocks in the lock validator.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Heiko Carstens 19 years ago
parent
commit
8e9ccae6ee
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/s390/s390mach.c

+ 3 - 0
drivers/s390/s390mach.c

@@ -378,6 +378,8 @@ s390_do_machine_check(struct pt_regs *regs)
 	struct mcck_struct *mcck;
 	int umode;
 
+	lockdep_off();
+
 	mci = (struct mci *) &S390_lowcore.mcck_interruption_code;
 	mcck = &__get_cpu_var(cpu_mcck);
 	umode = user_mode(regs);
@@ -482,6 +484,7 @@ s390_do_machine_check(struct pt_regs *regs)
 		mcck->warning = 1;
 		set_thread_flag(TIF_MCCK_PENDING);
 	}
+	lockdep_on();
 }
 
 /*