Commit 127581b6 authored by Martin Schwidefsky's avatar Martin Schwidefsky

s390/mm: handle asce-type exceptions as normal page fault

Git commit 9e34f2686bb088b211b6cac8772e1f644c6180f8
"s390/mm,tlb: tlb flush on page table upgrade fixup" removed the
exception handler for the asce-type exception. This is incorrect
as the user-copy with MVCOS can cause asce-type exceptions in
the kernel if a user pointer is too large. Those need to be
handled with do_no_context to branch to the fixup in the
user-copy code.

The simplest fix for this problem is to call do_dat_exception for
asce-type excpetions, as there is no vma for the address the code
will handle the exception correctly.
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 8adbf78e
...@@ -78,7 +78,7 @@ PGM_CHECK_DEFAULT /* 34 */ ...@@ -78,7 +78,7 @@ PGM_CHECK_DEFAULT /* 34 */
PGM_CHECK_DEFAULT /* 35 */ PGM_CHECK_DEFAULT /* 35 */
PGM_CHECK_DEFAULT /* 36 */ PGM_CHECK_DEFAULT /* 36 */
PGM_CHECK_DEFAULT /* 37 */ PGM_CHECK_DEFAULT /* 37 */
PGM_CHECK_DEFAULT /* 38 */ PGM_CHECK_64BIT(do_dat_exception) /* 38 */
PGM_CHECK_64BIT(do_dat_exception) /* 39 */ PGM_CHECK_64BIT(do_dat_exception) /* 39 */
PGM_CHECK_64BIT(do_dat_exception) /* 3a */ PGM_CHECK_64BIT(do_dat_exception) /* 3a */
PGM_CHECK_64BIT(do_dat_exception) /* 3b */ PGM_CHECK_64BIT(do_dat_exception) /* 3b */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment