aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/lib/usercopy_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/lib/usercopy_64.c')
-rw-r--r--arch/x86/lib/usercopy_64.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/x86/lib/usercopy_64.c b/arch/x86/lib/usercopy_64.c
index 847d12945998..64d6c84e6353 100644
--- a/arch/x86/lib/usercopy_64.c
+++ b/arch/x86/lib/usercopy_64.c
@@ -15,9 +15,7 @@
15#define __do_strncpy_from_user(dst,src,count,res) \ 15#define __do_strncpy_from_user(dst,src,count,res) \
16do { \ 16do { \
17 long __d0, __d1, __d2; \ 17 long __d0, __d1, __d2; \
18 might_sleep(); \ 18 might_fault(); \
19 if (current->mm) \
20 might_lock_read(&current->mm->mmap_sem); \
21 __asm__ __volatile__( \ 19 __asm__ __volatile__( \
22 " testq %1,%1\n" \ 20 " testq %1,%1\n" \
23 " jz 2f\n" \ 21 " jz 2f\n" \
@@ -66,9 +64,7 @@ EXPORT_SYMBOL(strncpy_from_user);
66unsigned long __clear_user(void __user *addr, unsigned long size) 64unsigned long __clear_user(void __user *addr, unsigned long size)
67{ 65{
68 long __d0; 66 long __d0;
69 might_sleep(); 67 might_fault();
70 if (current->mm)
71 might_lock_read(&current->mm->mmap_sem);
72 /* no memory constraint because it doesn't change any memory gcc knows 68 /* no memory constraint because it doesn't change any memory gcc knows
73 about */ 69 about */
74 asm volatile( 70 asm volatile(