[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>
This commit is contained in:
parent
6205120044
commit
8e9ccae6ee
|
@ -378,6 +378,8 @@ s390_do_machine_check(struct pt_regs *regs)
|
||||||
struct mcck_struct *mcck;
|
struct mcck_struct *mcck;
|
||||||
int umode;
|
int umode;
|
||||||
|
|
||||||
|
lockdep_off();
|
||||||
|
|
||||||
mci = (struct mci *) &S390_lowcore.mcck_interruption_code;
|
mci = (struct mci *) &S390_lowcore.mcck_interruption_code;
|
||||||
mcck = &__get_cpu_var(cpu_mcck);
|
mcck = &__get_cpu_var(cpu_mcck);
|
||||||
umode = user_mode(regs);
|
umode = user_mode(regs);
|
||||||
|
@ -482,6 +484,7 @@ s390_do_machine_check(struct pt_regs *regs)
|
||||||
mcck->warning = 1;
|
mcck->warning = 1;
|
||||||
set_thread_flag(TIF_MCCK_PENDING);
|
set_thread_flag(TIF_MCCK_PENDING);
|
||||||
}
|
}
|
||||||
|
lockdep_on();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue