aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/lib/uaccess_pt.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/lib/uaccess_pt.c')
-rw-r--r--arch/s390/lib/uaccess_pt.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/lib/uaccess_pt.c b/arch/s390/lib/uaccess_pt.c
index 633249c3ba91..49c3e46b4065 100644
--- a/arch/s390/lib/uaccess_pt.c
+++ b/arch/s390/lib/uaccess_pt.c
@@ -8,6 +8,7 @@
8 */ 8 */
9 9
10#include <linux/errno.h> 10#include <linux/errno.h>
11#include <linux/hardirq.h>
11#include <linux/mm.h> 12#include <linux/mm.h>
12#include <asm/uaccess.h> 13#include <asm/uaccess.h>
13#include <asm/futex.h> 14#include <asm/futex.h>
@@ -18,6 +19,8 @@ static inline int __handle_fault(struct mm_struct *mm, unsigned long address,
18 struct vm_area_struct *vma; 19 struct vm_area_struct *vma;
19 int ret = -EFAULT; 20 int ret = -EFAULT;
20 21
22 if (in_atomic())
23 return ret;
21 down_read(&mm->mmap_sem); 24 down_read(&mm->mmap_sem);
22 vma = find_vma(mm, address); 25 vma = find_vma(mm, address);
23 if (unlikely(!vma)) 26 if (unlikely(!vma))