ARC: uaccess: enable INLINE_COPY_{TO,FROM}_USER ...
authorVineet Gupta <vgupta@synopsys.com>
Wed, 29 Mar 2017 18:53:33 +0000 (11:53 -0700)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 30 Mar 2017 04:07:48 +0000 (00:07 -0400)
... and switch to generic out of line version in lib/usercopy.c

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/arc/include/asm/uaccess.h
arch/arc/mm/extable.c

index c4d26e8a21b33d6812376c688304529fc59a1bd6..f35974ee7264a1e13c3fb82b19dc2cc84b9fcc99 100644 (file)
 
 
 static inline unsigned long
-__arc_copy_from_user(void *to, const void __user *from, unsigned long n)
+raw_copy_from_user(void *to, const void __user *from, unsigned long n)
 {
        long res = 0;
        char val;
@@ -395,7 +395,7 @@ __arc_copy_from_user(void *to, const void __user *from, unsigned long n)
 }
 
 static inline unsigned long
-__arc_copy_to_user(void __user *to, const void *from, unsigned long n)
+raw_copy_to_user(void __user *to, const void *from, unsigned long n)
 {
        long res = 0;
        char val;
@@ -721,24 +721,20 @@ static inline long __arc_strnlen_user(const char __user *s, long n)
 }
 
 #ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
-#define raw_copy_from_user             __arc_copy_from_user
-#define raw_copy_to_user               __arc_copy_to_user
+
+#define INLINE_COPY_TO_USER
+#define INLINE_COPY_FROM_USER
+
 #define __clear_user(d, n)             __arc_clear_user(d, n)
 #define __strncpy_from_user(d, s, n)   __arc_strncpy_from_user(d, s, n)
 #define __strnlen_user(s, n)           __arc_strnlen_user(s, n)
 #else
-extern long arc_copy_from_user_noinline(void *to, const void __user * from,
-               unsigned long n);
-extern long arc_copy_to_user_noinline(void __user *to, const void *from,
-               unsigned long n);
 extern unsigned long arc_clear_user_noinline(void __user *to,
                unsigned long n);
 extern long arc_strncpy_from_user_noinline (char *dst, const char __user *src,
                long count);
 extern long arc_strnlen_user_noinline(const char __user *src, long n);
 
-#define raw_copy_from_user             arc_copy_from_user_noinline
-#define raw_copy_to_user               arc_copy_to_user_noinline
 #define __clear_user(d, n)             arc_clear_user_noinline(d, n)
 #define __strncpy_from_user(d, s, n)   arc_strncpy_from_user_noinline(d, s, n)
 #define __strnlen_user(s, n)           arc_strnlen_user_noinline(s, n)
index c86906b41bfe75c155755112059007e618f02464..72125a34e78046d73f755891bd1d1629fd4d823c 100644 (file)
@@ -28,20 +28,6 @@ int fixup_exception(struct pt_regs *regs)
 
 #ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 
-long arc_copy_from_user_noinline(void *to, const void __user *from,
-               unsigned long n)
-{
-       return __arc_copy_from_user(to, from, n);
-}
-EXPORT_SYMBOL(arc_copy_from_user_noinline);
-
-long arc_copy_to_user_noinline(void __user *to, const void *from,
-               unsigned long n)
-{
-       return __arc_copy_to_user(to, from, n);
-}
-EXPORT_SYMBOL(arc_copy_to_user_noinline);
-
 unsigned long arc_clear_user_noinline(void __user *to,
                unsigned long n)
 {