aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/include/asm/uaccess_32.h2
-rw-r--r--arch/sparc/include/asm/uaccess_64.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/include/asm/uaccess_32.h b/arch/sparc/include/asm/uaccess_32.h
index 489d2ba92bcb..25f1d10155e8 100644
--- a/arch/sparc/include/asm/uaccess_32.h
+++ b/arch/sparc/include/asm/uaccess_32.h
@@ -274,7 +274,7 @@ static inline unsigned long copy_from_user(void *to, const void __user *from, un
274 274
275 if (unlikely(sz != -1 && sz < n)) { 275 if (unlikely(sz != -1 && sz < n)) {
276 copy_from_user_overflow(); 276 copy_from_user_overflow();
277 return -EFAULT; 277 return n;
278 } 278 }
279 279
280 if (n && __access_ok((unsigned long) from, n)) 280 if (n && __access_ok((unsigned long) from, n))
diff --git a/arch/sparc/include/asm/uaccess_64.h b/arch/sparc/include/asm/uaccess_64.h
index dbc141660994..2406788bfe5f 100644
--- a/arch/sparc/include/asm/uaccess_64.h
+++ b/arch/sparc/include/asm/uaccess_64.h
@@ -221,8 +221,8 @@ extern unsigned long copy_from_user_fixup(void *to, const void __user *from,
221static inline unsigned long __must_check 221static inline unsigned long __must_check
222copy_from_user(void *to, const void __user *from, unsigned long size) 222copy_from_user(void *to, const void __user *from, unsigned long size)
223{ 223{
224 unsigned long ret = (unsigned long) -EFAULT;
225 int sz = __compiletime_object_size(to); 224 int sz = __compiletime_object_size(to);
225 unsigned long ret = size;
226 226
227 if (likely(sz == -1 || sz >= size)) { 227 if (likely(sz == -1 || sz >= size)) {
228 ret = ___copy_from_user(to, from, size); 228 ret = ___copy_from_user(to, from, size);