4.4-stable review patch.  If anyone has any objections, please let me know.

------------------

From: "David S. Miller" <da...@davemloft.net>


[ Upstream commit aa95ce361ed95c72ac42dcb315166bce5cf1a014 ]

It is completely unused.

Signed-off-by: David S. Miller <da...@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 arch/sparc/include/asm/uaccess_64.h |   41 ------------------------------------
 arch/sparc/kernel/head_64.S         |    7 ------
 arch/sparc/kernel/sparc_ksyms_64.c  |    1 
 3 files changed, 1 insertion(+), 48 deletions(-)

--- a/arch/sparc/include/asm/uaccess_64.h
+++ b/arch/sparc/include/asm/uaccess_64.h
@@ -98,7 +98,6 @@ struct exception_table_entry {
         unsigned int insn, fixup;
 };
 
-void __ret_efault(void);
 void __retl_efault(void);
 
 /* Uh, these should become the main single-value transfer routines..
@@ -179,20 +178,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 +199,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,
--- a/arch/sparc/kernel/head_64.S
+++ b/arch/sparc/kernel/head_64.S
@@ -922,12 +922,7 @@ prom_tba:  .xword  0
 tlb_type:      .word   0       /* Must NOT end up in BSS */
        .section        ".fixup",#alloc,#execinstr
 
-       .globl  __ret_efault, __retl_efault, __ret_one, __retl_one
-ENTRY(__ret_efault)
-       ret
-        restore %g0, -EFAULT, %o0
-ENDPROC(__ret_efault)
-
+       .globl  __retl_efault, __ret_one, __retl_one
 ENTRY(__retl_efault)
        retl
         mov    -EFAULT, %o0
--- a/arch/sparc/kernel/sparc_ksyms_64.c
+++ b/arch/sparc/kernel/sparc_ksyms_64.c
@@ -27,7 +27,6 @@ EXPORT_SYMBOL(__flushw_user);
 EXPORT_SYMBOL_GPL(real_hard_smp_processor_id);
 
 /* from head_64.S */
-EXPORT_SYMBOL(__ret_efault);
 EXPORT_SYMBOL(tlb_type);
 EXPORT_SYMBOL(sun4v_chip_type);
 EXPORT_SYMBOL(prom_root_node);


Reply via email to