diff options
Diffstat (limited to 'arch/arm64/mm/fault.c')
-rw-r--r-- | arch/arm64/mm/fault.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 2509e4fe6992..1f22a41565a3 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c | |||
@@ -435,8 +435,11 @@ retry: | |||
435 | * the mmap_sem because it would already be released | 435 | * the mmap_sem because it would already be released |
436 | * in __lock_page_or_retry in mm/filemap.c. | 436 | * in __lock_page_or_retry in mm/filemap.c. |
437 | */ | 437 | */ |
438 | if (fatal_signal_pending(current)) | 438 | if (fatal_signal_pending(current)) { |
439 | if (!user_mode(regs)) | ||
440 | goto no_context; | ||
439 | return 0; | 441 | return 0; |
442 | } | ||
440 | 443 | ||
441 | /* | 444 | /* |
442 | * Clear FAULT_FLAG_ALLOW_RETRY to avoid any risk of | 445 | * Clear FAULT_FLAG_ALLOW_RETRY to avoid any risk of |