]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
put the remnants of ..._user_ret() to rest
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 25 Dec 2015 15:04:47 +0000 (10:04 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 4 Jan 2016 15:28:06 +0000 (10:28 -0500)
they hadn't been used in last 15 years...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/blackfin/include/asm/uaccess.h
arch/m68k/include/asm/uaccess_no.h
arch/mn10300/include/asm/uaccess.h
arch/sparc/include/asm/uaccess_32.h
arch/sparc/include/asm/uaccess_64.h

index 90612a7f2cf32f0872af2651b608cd56eb0fff26..12f5d6851bbcb3e28c7ba5421a849df3cabbf4fd 100644 (file)
@@ -168,12 +168,6 @@ static inline int bad_user_access_length(void)
 #define __copy_to_user_inatomic __copy_to_user
 #define __copy_from_user_inatomic __copy_from_user
 
-#define copy_to_user_ret(to, from, n, retval) ({ if (copy_to_user(to, from, n))\
-                                                return retval; })
-
-#define copy_from_user_ret(to, from, n, retval) ({ if (copy_from_user(to, from, n))\
-                                                   return retval; })
-
 static inline unsigned long __must_check
 copy_from_user(void *to, const void __user *from, unsigned long n)
 {
index 68bbe9b312f149e5286068a90bbe59310176747b..1bdf15263754711c63a8007eaf4580c10f3a7741 100644 (file)
@@ -135,10 +135,6 @@ extern int __get_user_bad(void);
 #define __copy_to_user_inatomic __copy_to_user
 #define __copy_from_user_inatomic __copy_from_user
 
-#define copy_to_user_ret(to,from,n,retval) ({ if (copy_to_user(to,from,n)) return retval; })
-
-#define copy_from_user_ret(to,from,n,retval) ({ if (copy_from_user(to,from,n)) return retval; })
-
 /*
  * Copy a null terminated string from userspace.
  */
index 537278746a1534cead71e487aea7f13533e60b97..20f7bf6de384d06d5beebaeb216d2e6d4f675350 100644 (file)
@@ -110,21 +110,6 @@ extern int fixup_exception(struct pt_regs *regs);
 #define __put_user(x, ptr) __put_user_nocheck((x), (ptr), sizeof(*(ptr)))
 #define __get_user(x, ptr) __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
 
-/*
- * The "xxx_ret" versions return constant specified in third argument, if
- * something bad happens. These macros can be optimized for the
- * case of just returning from the function xxx_ret is used.
- */
-
-#define put_user_ret(x, ptr, ret) \
-       ({ if (put_user((x), (ptr)))    return (ret); })
-#define get_user_ret(x, ptr, ret) \
-       ({ if (get_user((x), (ptr)))    return (ret); })
-#define __put_user_ret(x, ptr, ret) \
-       ({ if (__put_user((x), (ptr)))  return (ret); })
-#define __get_user_ret(x, ptr, ret) \
-       ({ if (__get_user((x), (ptr)))  return (ret); })
-
 struct __large_struct { unsigned long buf[100]; };
 #define __m(x) (*(struct __large_struct *)(x))
 
index 64ee103dc29da142305d93d26fd44cf4a62ae699..57aca2792d29f89203735f892ceab4b73340bd69 100644 (file)
@@ -205,31 +205,6 @@ int __put_user_bad(void);
        __gu_ret; \
 })
 
-#define __get_user_check_ret(x, addr, size, type, retval) ({ \
-       register unsigned long __gu_val __asm__ ("l1"); \
-       if (__access_ok(addr, size)) { \
-               switch (size) { \
-               case 1: \
-                       __get_user_asm_ret(__gu_val, ub, addr, retval); \
-                       break; \
-               case 2: \
-                       __get_user_asm_ret(__gu_val, uh, addr, retval); \
-                       break; \
-               case 4: \
-                       __get_user_asm_ret(__gu_val, , addr, retval); \
-                       break; \
-               case 8: \
-                       __get_user_asm_ret(__gu_val, d, addr, retval); \
-                       break; \
-               default: \
-                       if (__get_user_bad()) \
-                               return retval; \
-               } \
-               x = (__force type) __gu_val; \
-       } else \
-               return retval; \
-})
-
 #define __get_user_nocheck(x, addr, size, type) ({                     \
        register int __gu_ret;                                          \
        register unsigned long __gu_val;                                \
@@ -247,20 +222,6 @@ int __put_user_bad(void);
        __gu_ret;                                                       \
 })
 
-#define __get_user_nocheck_ret(x, addr, size, type, retval) ({         \
-       register unsigned long __gu_val __asm__ ("l1");                 \
-       switch (size) {                                                 \
-       case 1: __get_user_asm_ret(__gu_val, ub, addr, retval); break;  \
-       case 2: __get_user_asm_ret(__gu_val, uh, addr, retval); break;  \
-       case 4: __get_user_asm_ret(__gu_val, , addr, retval);  break;   \
-       case 8: __get_user_asm_ret(__gu_val, d, addr, retval); break;   \
-       default:                                                        \
-               if (__get_user_bad())                                   \
-                       return retval;                                  \
-       }                                                               \
-       x = (__force type) __gu_val;                                    \
-})
-
 #define __get_user_asm(x, size, addr, ret)                             \
 __asm__ __volatile__(                                                  \
                "/* Get user asm, inline. */\n"                         \
@@ -281,32 +242,6 @@ __asm__ __volatile__(                                                      \
               : "=&r" (ret), "=&r" (x) : "m" (*__m(addr)),             \
                 "i" (-EFAULT))
 
-#define __get_user_asm_ret(x, size, addr, retval)                      \
-if (__builtin_constant_p(retval) && retval == -EFAULT)                 \
-       __asm__ __volatile__(                                           \
-                       "/* Get user asm ret, inline. */\n"             \
-               "1:\t"  "ld"#size " %1, %0\n\n\t"                       \
-                       ".section __ex_table,#alloc\n\t"                \
-                       ".align 4\n\t"                                  \
-                       ".word  1b,__ret_efault\n\n\t"                  \
-                       ".previous\n\t"                                 \
-                      : "=&r" (x) : "m" (*__m(addr)));                 \
-else                                                                   \
-       __asm__ __volatile__(                                           \
-                       "/* Get user asm ret, inline. */\n"             \
-               "1:\t"  "ld"#size " %1, %0\n\n\t"                       \
-                       ".section .fixup,#alloc,#execinstr\n\t"         \
-                       ".align 4\n"                                    \
-               "3:\n\t"                                                \
-                       "ret\n\t"                                       \
-                       " restore %%g0, %2, %%o0\n\n\t"                 \
-                       ".previous\n\t"                                 \
-                       ".section __ex_table,#alloc\n\t"                \
-                       ".align 4\n\t"                                  \
-                       ".word  1b, 3b\n\n\t"                           \
-                       ".previous\n\t"                                 \
-                      : "=&r" (x) : "m" (*__m(addr)), "i" (retval))
-
 int __get_user_bad(void);
 
 unsigned long __copy_user(void __user *to, const void __user *from, unsigned long size);
index ea6e9a20f3ffb5a80156b1766ac2112c3c0d2bdc..e9a51d64974ddff102017ee8f86be01f7a41361a 100644 (file)
@@ -179,20 +179,6 @@ int __put_user_bad(void);
         __gu_ret;                                                           \
 })
 
-#define __get_user_nocheck_ret(data, addr, size, type, retval) ({      \
-       register unsigned long __gu_val __asm__ ("l1");                 \
-       switch (size) {                                                 \
-       case 1: __get_user_asm_ret(__gu_val, ub, addr, retval); break;  \
-       case 2: __get_user_asm_ret(__gu_val, uh, addr, retval); break;  \
-       case 4: __get_user_asm_ret(__gu_val, uw, addr, retval); break;  \
-       case 8: __get_user_asm_ret(__gu_val, x, addr, retval); break;   \
-       default:                                                        \
-               if (__get_user_bad())                                   \
-                       return retval;                                  \
-       }                                                               \
-       data = (__force type) __gu_val;                                 \
-})
-
 #define __get_user_asm(x, size, addr, ret)                             \
 __asm__ __volatile__(                                                  \
                "/* Get user asm, inline. */\n"                         \
@@ -214,32 +200,6 @@ __asm__ __volatile__(                                                      \
               : "=r" (ret), "=r" (x) : "r" (__m(addr)),                \
                 "i" (-EFAULT))
 
-#define __get_user_asm_ret(x, size, addr, retval)                      \
-if (__builtin_constant_p(retval) && retval == -EFAULT)                 \
-       __asm__ __volatile__(                                           \
-               "/* Get user asm ret, inline. */\n"                     \
-       "1:\t"  "ld"#size "a [%1] %%asi, %0\n\n\t"                      \
-               ".section __ex_table,\"a\"\n\t"                         \
-               ".align 4\n\t"                                          \
-               ".word  1b,__ret_efault\n\n\t"                          \
-               ".previous\n\t"                                         \
-              : "=r" (x) : "r" (__m(addr)));                           \
-else                                                                   \
-       __asm__ __volatile__(                                           \
-               "/* Get user asm ret, inline. */\n"                     \
-       "1:\t"  "ld"#size "a [%1] %%asi, %0\n\n\t"                      \
-               ".section .fixup,#alloc,#execinstr\n\t"                 \
-               ".align 4\n"                                            \
-       "3:\n\t"                                                        \
-               "ret\n\t"                                               \
-               " restore %%g0, %2, %%o0\n\n\t"                         \
-               ".previous\n\t"                                         \
-               ".section __ex_table,\"a\"\n\t"                         \
-               ".align 4\n\t"                                          \
-               ".word  1b, 3b\n\n\t"                                   \
-               ".previous\n\t"                                         \
-              : "=r" (x) : "r" (__m(addr)), "i" (retval))
-
 int __get_user_bad(void);
 
 unsigned long __must_check ___copy_from_user(void *to,