Signed-off-by: Andrew Morton --- 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); _