x86: some lock annotations for user copy paths, v2
[GitHub/LineageOS/android_kernel_samsung_universal7580.git] / include / asm-x86 / uaccess_32.h
index d725e2d703f7dfa706ed9da3f31053253cb88ffc..d10e842ec3eed2d9cc97fcee885b2cc9be17a0b5 100644 (file)
@@ -82,9 +82,7 @@ __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n)
 static __always_inline unsigned long __must_check
 __copy_to_user(void __user *to, const void *from, unsigned long n)
 {
-       might_sleep();
-       if (current->mm)
-               might_lock_read(&current->mm->mmap_sem);
+       might_fault();
        return __copy_to_user_inatomic(to, from, n);
 }
 
@@ -139,9 +137,7 @@ __copy_from_user_inatomic(void *to, const void __user *from, unsigned long n)
 static __always_inline unsigned long
 __copy_from_user(void *to, const void __user *from, unsigned long n)
 {
-       might_sleep();
-       if (current->mm)
-               might_lock_read(&current->mm->mmap_sem);
+       might_fault();
        if (__builtin_constant_p(n)) {
                unsigned long ret;
 
@@ -163,9 +159,7 @@ __copy_from_user(void *to, const void __user *from, unsigned long n)
 static __always_inline unsigned long __copy_from_user_nocache(void *to,
                                const void __user *from, unsigned long n)
 {
-       might_sleep();
-       if (current->mm)
-               might_lock_read(&current->mm->mmap_sem);
+       might_fault();
        if (__builtin_constant_p(n)) {
                unsigned long ret;