make 'user_access_begin()' do 'access_ok()'
[linux-2.6-microblaze.git] / arch / x86 / include / asm / uaccess.h
index 3920f45..a87ab52 100644 (file)
@@ -705,7 +705,14 @@ extern struct movsl_mask {
  * checking before using them, but you have to surround them with the
  * user_access_begin/end() pair.
  */
-#define user_access_begin()    __uaccess_begin()
+static __must_check inline bool user_access_begin(const void __user *ptr, size_t len)
+{
+       if (unlikely(!access_ok(ptr,len)))
+               return 0;
+       __uaccess_begin();
+       return 1;
+}
+#define user_access_begin(a,b) user_access_begin(a,b)
 #define user_access_end()      __uaccess_end()
 
 #define unsafe_put_user(x, ptr, err_label)                                     \