]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ia64: get rid of 'segment' argument of __do_{get,put}_user()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 27 Dec 2016 15:21:09 +0000 (10:21 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 6 Apr 2017 23:35:50 +0000 (19:35 -0400)
it's only evaluated if the first argument is not 0, and in those
cases it's always equal to get_fs()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/ia64/include/asm/uaccess.h

index 4132497d8ee68014b145a76a99fe037dd78d35e5..24b39341f816663db4fed56de384a1b9acfdfe16 100644 (file)
@@ -180,13 +180,13 @@ extern void __get_user_unknown (void);
  * could clobber r8 and r9 (among others).  Thus, be careful not to evaluate it while
  * using r8/r9.
  */
-#define __do_get_user(check, x, ptr, size, segment)                                    \
+#define __do_get_user(check, x, ptr, size)                                             \
 ({                                                                                     \
        const __typeof__(*(ptr)) __user *__gu_ptr = (ptr);                              \
        __typeof__ (size) __gu_size = (size);                                           \
        long __gu_err = -EFAULT;                                                        \
        unsigned long __gu_val = 0;                                                     \
-       if (!check || __access_ok(__gu_ptr, size, segment))                             \
+       if (!check || __access_ok(__gu_ptr, size, get_fs()))                            \
                switch (__gu_size) {                                                    \
                      case 1: __get_user_size(__gu_val, __gu_ptr, 1, __gu_err); break;  \
                      case 2: __get_user_size(__gu_val, __gu_ptr, 2, __gu_err); break;  \
@@ -198,8 +198,8 @@ extern void __get_user_unknown (void);
        __gu_err;                                                                       \
 })
 
-#define __get_user_nocheck(x, ptr, size)       __do_get_user(0, x, ptr, size, KERNEL_DS)
-#define __get_user_check(x, ptr, size) __do_get_user(1, x, ptr, size, get_fs())
+#define __get_user_nocheck(x, ptr, size)       __do_get_user(0, x, ptr, size)
+#define __get_user_check(x, ptr, size) __do_get_user(1, x, ptr, size)
 
 extern void __put_user_unknown (void);
 
@@ -207,14 +207,14 @@ extern void __put_user_unknown (void);
  * Evaluating arguments X, PTR, SIZE, and SEGMENT may involve subroutine-calls, which
  * could clobber r8 (among others).  Thus, be careful not to evaluate them while using r8.
  */
-#define __do_put_user(check, x, ptr, size, segment)                                    \
+#define __do_put_user(check, x, ptr, size)                                             \
 ({                                                                                     \
        __typeof__ (x) __pu_x = (x);                                                    \
        __typeof__ (*(ptr)) __user *__pu_ptr = (ptr);                                   \
        __typeof__ (size) __pu_size = (size);                                           \
        long __pu_err = -EFAULT;                                                        \
                                                                                        \
-       if (!check || __access_ok(__pu_ptr, __pu_size, segment))                        \
+       if (!check || __access_ok(__pu_ptr, __pu_size, get_fs()))                       \
                switch (__pu_size) {                                                    \
                      case 1: __put_user_size(__pu_x, __pu_ptr, 1, __pu_err); break;    \
                      case 2: __put_user_size(__pu_x, __pu_ptr, 2, __pu_err); break;    \
@@ -225,8 +225,8 @@ extern void __put_user_unknown (void);
        __pu_err;                                                                       \
 })
 
-#define __put_user_nocheck(x, ptr, size)       __do_put_user(0, x, ptr, size, KERNEL_DS)
-#define __put_user_check(x, ptr, size) __do_put_user(1, x, ptr, size, get_fs())
+#define __put_user_nocheck(x, ptr, size)       __do_put_user(0, x, ptr, size)
+#define __put_user_check(x, ptr, size) __do_put_user(1, x, ptr, size)
 
 /*
  * Complex access routines