aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-06-26 07:59:47 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-26 13:48:22 -0400
commit6bfa9bb5195c68f75bd3937e4d77cb0bfe852d0d (patch)
treecb6833ec8a32ac4b139be375b706b7110004a799
parent2ee60e17896c65da1df5780d3196c050bccb7d10 (diff)
[PATCH] x86_64: Minor string functions optimizations
- Use tail call from clear_user to __clear_user to save some code size - Use standard memcpy for forward memmove Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/x86_64/lib/memmove.c2
-rw-r--r--arch/x86_64/lib/usercopy.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86_64/lib/memmove.c b/arch/x86_64/lib/memmove.c
index 517eb1bd9de5..751ebae8ec42 100644
--- a/arch/x86_64/lib/memmove.c
+++ b/arch/x86_64/lib/memmove.c
@@ -9,7 +9,7 @@
9void *memmove(void * dest,const void *src,size_t count) 9void *memmove(void * dest,const void *src,size_t count)
10{ 10{
11 if (dest < src) { 11 if (dest < src) {
12 __inline_memcpy(dest,src,count); 12 return memcpy(dest,src,count);
13 } else { 13 } else {
14 char *p = (char *) dest + count; 14 char *p = (char *) dest + count;
15 char *s = (char *) src + count; 15 char *s = (char *) src + count;
diff --git a/arch/x86_64/lib/usercopy.c b/arch/x86_64/lib/usercopy.c
index a82bfacdb1af..893d43f838cc 100644
--- a/arch/x86_64/lib/usercopy.c
+++ b/arch/x86_64/lib/usercopy.c
@@ -55,7 +55,7 @@ strncpy_from_user(char *dst, const char __user *src, long count)
55{ 55{
56 long res = -EFAULT; 56 long res = -EFAULT;
57 if (access_ok(VERIFY_READ, src, 1)) 57 if (access_ok(VERIFY_READ, src, 1))
58 __do_strncpy_from_user(dst, src, count, res); 58 return __strncpy_from_user(dst, src, count);
59 return res; 59 return res;
60} 60}
61EXPORT_SYMBOL(strncpy_from_user); 61EXPORT_SYMBOL(strncpy_from_user);