mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
s390/traps: panic() instead of die() on translation exception
In case of a translation exception the page tables are corrupted. If the exception handler then calls die() which again calls show_regs() -> show_code() -> copy_from_user(), the kernel may access the same memory location again and generates yet another translation exception. Which in turn will lead to a deadlock on the die_lock spinlock, which the kernel tries to grab recursively. Given that the page tables are corrupted anyway, if we see such an exception, let's simply panic. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
86cd741bc6
commit
e1d12d70f7
@ -174,7 +174,7 @@ static inline void do_fp_trap(struct pt_regs *regs, int fpc)
|
|||||||
void translation_exception(struct pt_regs *regs)
|
void translation_exception(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
/* May never happen. */
|
/* May never happen. */
|
||||||
die(regs, "Translation exception");
|
panic("Translation exception");
|
||||||
}
|
}
|
||||||
|
|
||||||
void illegal_op(struct pt_regs *regs)
|
void illegal_op(struct pt_regs *regs)
|
||||||
|
Loading…
Reference in New Issue
Block a user