Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

get rid of unused __strncpy_from_user() instances

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 10503bf9 82985258

+2 -92
-6
arch/cris/include/asm/uaccess.h
··· 173 173 extern unsigned long __do_clear_user(void __user *to, unsigned long n); 174 174 175 175 static inline long 176 - __strncpy_from_user(char *dst, const char __user *src, long count) 177 - { 178 - return __do_strncpy_from_user(dst, src, count); 179 - } 180 - 181 - static inline long 182 176 strncpy_from_user(char *dst, const char __user *src, long count) 183 177 { 184 178 long res = -EFAULT;
-2
arch/m32r/include/asm/uaccess.h
··· 482 482 483 483 long __must_check strncpy_from_user(char *dst, const char __user *src, 484 484 long count); 485 - long __must_check __strncpy_from_user(char *dst, 486 - const char __user *src, long count); 487 485 488 486 /** 489 487 * __clear_user: - Zero a block of memory in user space, with less checking.
-1
arch/m32r/kernel/m32r_ksyms.c
··· 23 23 EXPORT_SYMBOL(iounmap); 24 24 25 25 EXPORT_SYMBOL(strncpy_from_user); 26 - EXPORT_SYMBOL(__strncpy_from_user); 27 26 EXPORT_SYMBOL(clear_user); 28 27 EXPORT_SYMBOL(__clear_user); 29 28 EXPORT_SYMBOL(strnlen_user);
-8
arch/m32r/lib/usercopy.c
··· 89 89 #endif /* CONFIG_ISA_DUAL_ISSUE */ 90 90 91 91 long 92 - __strncpy_from_user(char *dst, const char __user *src, long count) 93 - { 94 - long res; 95 - __do_strncpy_from_user(dst, src, count, res); 96 - return res; 97 - } 98 - 99 - long 100 92 strncpy_from_user(char *dst, const char __user *src, long count) 101 93 { 102 94 long res = -EFAULT;
+1 -3
arch/microblaze/include/asm/uaccess.h
··· 355 355 */ 356 356 extern int __strncpy_user(char *to, const char __user *from, int len); 357 357 358 - #define __strncpy_from_user __strncpy_user 359 - 360 358 static inline long 361 359 strncpy_from_user(char *dst, const char __user *src, long count) 362 360 { 363 361 if (!access_ok(VERIFY_READ, src, 1)) 364 362 return -EFAULT; 365 - return __strncpy_from_user(dst, src, count); 363 + return __strncpy_user(dst, src, count); 366 364 } 367 365 368 366 /*
-54
arch/mips/include/asm/uaccess.h
··· 967 967 __cl_size; \ 968 968 }) 969 969 970 - extern long __strncpy_from_kernel_nocheck_asm(char *__to, const char __user *__from, long __len); 971 - extern long __strncpy_from_user_nocheck_asm(char *__to, const char __user *__from, long __len); 972 - 973 - /* 974 - * __strncpy_from_user: - Copy a NUL terminated string from userspace, with less checking. 975 - * @dst: Destination address, in kernel space. This buffer must be at 976 - * least @count bytes long. 977 - * @src: Source address, in user space. 978 - * @count: Maximum number of bytes to copy, including the trailing NUL. 979 - * 980 - * Copies a NUL-terminated string from userspace to kernel space. 981 - * Caller must check the specified block with access_ok() before calling 982 - * this function. 983 - * 984 - * On success, returns the length of the string (not including the trailing 985 - * NUL). 986 - * 987 - * If access to userspace fails, returns -EFAULT (some data may have been 988 - * copied). 989 - * 990 - * If @count is smaller than the length of the string, copies @count bytes 991 - * and returns @count. 992 - */ 993 - static inline long 994 - __strncpy_from_user(char *__to, const char __user *__from, long __len) 995 - { 996 - long res; 997 - 998 - if (eva_kernel_access()) { 999 - __asm__ __volatile__( 1000 - "move\t$4, %1\n\t" 1001 - "move\t$5, %2\n\t" 1002 - "move\t$6, %3\n\t" 1003 - __MODULE_JAL(__strncpy_from_kernel_nocheck_asm) 1004 - "move\t%0, $2" 1005 - : "=r" (res) 1006 - : "r" (__to), "r" (__from), "r" (__len) 1007 - : "$2", "$3", "$4", "$5", "$6", __UA_t0, "$31", "memory"); 1008 - } else { 1009 - might_fault(); 1010 - __asm__ __volatile__( 1011 - "move\t$4, %1\n\t" 1012 - "move\t$5, %2\n\t" 1013 - "move\t$6, %3\n\t" 1014 - __MODULE_JAL(__strncpy_from_user_nocheck_asm) 1015 - "move\t%0, $2" 1016 - : "=r" (res) 1017 - : "r" (__to), "r" (__from), "r" (__len) 1018 - : "$2", "$3", "$4", "$5", "$6", __UA_t0, "$31", "memory"); 1019 - } 1020 - 1021 - return res; 1022 - } 1023 - 1024 970 extern long __strncpy_from_kernel_asm(char *__to, const char __user *__from, long __len); 1025 971 extern long __strncpy_from_user_asm(char *__to, const char __user *__from, long __len); 1026 972
-6
arch/mips/lib/strncpy_user.S
··· 35 35 and v0, a1 36 36 bnez v0, .Lfault\@ 37 37 38 - FEXPORT(__strncpy_from_\func\()_nocheck_asm) 39 38 move t0, zero 40 39 move v1, a1 41 40 .ifeqs "\func","kernel" ··· 69 70 #ifndef CONFIG_EVA 70 71 /* Set aliases */ 71 72 .global __strncpy_from_user_asm 72 - .global __strncpy_from_user_nocheck_asm 73 73 .set __strncpy_from_user_asm, __strncpy_from_kernel_asm 74 - .set __strncpy_from_user_nocheck_asm, __strncpy_from_kernel_nocheck_asm 75 74 EXPORT_SYMBOL(__strncpy_from_user_asm) 76 - EXPORT_SYMBOL(__strncpy_from_user_nocheck_asm) 77 75 #endif 78 76 79 77 __BUILD_STRNCPY_ASM kernel 80 78 EXPORT_SYMBOL(__strncpy_from_kernel_asm) 81 - EXPORT_SYMBOL(__strncpy_from_kernel_nocheck_asm) 82 79 83 80 #ifdef CONFIG_EVA 84 81 .set push ··· 82 87 __BUILD_STRNCPY_ASM user 83 88 .set pop 84 89 EXPORT_SYMBOL(__strncpy_from_user_asm) 85 - EXPORT_SYMBOL(__strncpy_from_user_nocheck_asm) 86 90 #endif
-1
arch/mn10300/include/asm/uaccess.h
··· 290 290 } 291 291 292 292 extern long strncpy_from_user(char *dst, const char __user *src, long count); 293 - extern long __strncpy_from_user(char *dst, const char __user *src, long count); 294 293 extern long strnlen_user(const char __user *str, long n); 295 294 extern unsigned long clear_user(void __user *mem, unsigned long len); 296 295 extern unsigned long __clear_user(void __user *mem, unsigned long len);
-1
arch/mn10300/kernel/mn10300_ksyms.c
··· 23 23 EXPORT_SYMBOL(memset); 24 24 25 25 EXPORT_SYMBOL(strncpy_from_user); 26 - EXPORT_SYMBOL(__strncpy_from_user); 27 26 EXPORT_SYMBOL(clear_user); 28 27 EXPORT_SYMBOL(__clear_user); 29 28 EXPORT_SYMBOL(strnlen_user);
-8
arch/mn10300/lib/usercopy.c
··· 50 50 } while (0) 51 51 52 52 long 53 - __strncpy_from_user(char *dst, const char *src, long count) 54 - { 55 - long res; 56 - __do_strncpy_from_user(dst, src, count, res); 57 - return res; 58 - } 59 - 60 - long 61 53 strncpy_from_user(char *dst, const char *src, long count) 62 54 { 63 55 long res = -EFAULT;
+1 -2
arch/xtensa/include/asm/uaccess.h
··· 278 278 279 279 280 280 extern long __strncpy_user(char *, const char *, long); 281 - #define __strncpy_from_user __strncpy_user 282 281 283 282 static inline long 284 283 strncpy_from_user(char *dst, const char *src, long count) 285 284 { 286 285 if (access_ok(VERIFY_READ, src, 1)) 287 - return __strncpy_from_user(dst, src, count); 286 + return __strncpy_user(dst, src, count); 288 287 return -EFAULT; 289 288 } 290 289