

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/i386/lib/usercopy.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff -puN arch/i386/lib/usercopy.c~usercopy-return-EFAULT arch/i386/lib/usercopy.c
--- 25/arch/i386/lib/usercopy.c~usercopy-return-EFAULT	Fri Aug 20 17:04:37 2004
+++ 25-akpm/arch/i386/lib/usercopy.c	Fri Aug 20 17:05:52 2004
@@ -560,14 +560,14 @@ survive:
 			to += len;
 			n -= len;
 		}
-		return n;
+		return n ? -EFAULT : 0;
 	}
 #endif
 	if (movsl_is_ok(to, from, n))
 		__copy_user(to, from, n);
 	else
 		n = __copy_user_intel(to, from, n);
-	return n;
+	return n ? -EFAULT : 0;
 }
 
 unsigned long
@@ -577,7 +577,7 @@ __copy_from_user_ll(void *to, const void
 		__copy_user_zeroing(to, from, n);
 	else
 		n = __copy_user_zeroing_intel(to, from, n);
-	return n;
+	return n ? -EFAULT : 0;
 }
 
 /**
@@ -599,7 +599,7 @@ copy_to_user(void __user *to, const void
 	might_sleep();
 	if (access_ok(VERIFY_WRITE, to, n))
 		n = __copy_to_user(to, from, n);
-	return n;
+	return n ? -EFAULT : 0;
 }
 EXPORT_SYMBOL(copy_to_user);
 
@@ -627,6 +627,6 @@ copy_from_user(void *to, const void __us
 		n = __copy_from_user(to, from, n);
 	else
 		memset(to, 0, n);
-	return n;
+	return n ? -EFAULT : 0;
 }
 EXPORT_SYMBOL(copy_from_user);
_
