Revert "sparc64: Fix __copy_{to,from}_user_inatomic defines."
PATCH RESEND 1/1 Revert "sparc64: Fix __copy_{to,from}_user_inatomic defines."
This reverts commit 145e1c0023585e0e8f6df22316308ec61c5066b2.
This commit broke the behavior of __copy_from_user_inatomic when it is only partially successful. Instead of returning the number of bytes not copied, it now returns 1. This translates to the wrong value being returned by iov_iter_copy_from_user_atomic.
xfstests generic/246 and LTP writev01 both fail on btrfs and nfs because of this.
--- arch/sparc/include/asm/uaccess_64.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/sparc/include/asm/uaccess_64.h +2 -2
@@ -262,8 +262,8 @@ extern unsigned long __must_check __clear_user(void __user *, unsigned long);extern __must_check long strlen_user (const char __user *str);extern __must_check long strnlen_user (const char __user *str,long n); -#define __copy_to_user_inatomic ___copy_to_user -#define __copy_from_user_inatomic ___copy_from_user +#define __copy_to_user_inatomic __copy_to_user +#define __copy_from_user_inatomic __copy_from_userstruct pt_regs ; extern unsigned long compute_effective_address(struct pt_regs *,
Signature · 1 line
1.8.5.1
Oops, sent this one to Hugh's old address this time.
Quoted 7 lines · Dave Kleikamp
This reverts commit
145e1c0023585e0e8f6df22316308ec61c5066b2.This commit broke the behavior of
__copy_from_user_inatomicwhen it is only partially successful. Instead of returning the number of bytes not copied, it now returns 1. This translates to the wrong value being returned byiov_iter_copy_from_user_atomic.
Quoted 5 lines
xfstests generic/246 and LTP writev01 both fail on btrfs and nfs because of this.
Signed-off-by Dave Kleikamp <[email protected]>Cc Hugh Dickins <[email protected]>
Quoted 22 lines
Cc David S. Miller <[email protected]>--- arch/sparc/include/asm/uaccess_64.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)arch/sparc/include/asm/uaccess_64.h +2
-2@@ -262,8 +262,8 @@ extern unsigned long __must_check __clear_user(void __user *, unsigned long);extern __must_check long strlen_user (const char __user *str);extern __must_check long strnlen_user (const char __user *str,long n); -#define __copy_to_user_inatomic ___copy_to_user -#define __copy_from_user_inatomic ___copy_from_user +#define __copy_to_user_inatomic __copy_to_user +#define __copy_from_user_inatomic __copy_from_userstruct pt_regs ; extern unsigned long compute_effective_address(struct pt_regs *,
David Miller
maintainerFrom: Dave Kleikamp <[email protected]>
Date: Thu, 02 Jan 2014 10:03:19 -0600
Quoted 11 lines
This reverts commit
145e1c0023585e0e8f6df22316308ec61c5066b2.This commit broke the behavior of
__copy_from_user_inatomicwhen it is only partially successful. Instead of returning the number of bytes not copied, it now returns 1. This translates to the wrong value being returned byiov_iter_copy_from_user_atomic.xfstests generic/246 and LTP writev01 both fail on btrfs and nfs because of this.
Signed-off-by Dave Kleikamp <[email protected]>
I got your first copy and it's properly queued up in patchwork, you don't need to send it again, I've just been really busy.
Quoted 10 lines · David Miller
From: Dave Kleikamp <[email protected]>
Date: Thu, 02 Jan 2014 10:03:19 -0600Quoted 7 lines
This reverts commit
145e1c0023585e0e8f6df22316308ec61c5066b2.This commit broke the behavior of
__copy_from_user_inatomicwhen it is only partially successful. Instead of returning the number of bytes not copied, it now returns 1. This translates to the wrong value being returned byiov_iter_copy_from_user_atomic.
Quoted 7 lines
Quoted 4 lines
xfstests generic/246 and LTP writev01 both fail on btrfs and nfs because of this.
Signed-off-by Dave Kleikamp <[email protected]>I got your first copy and it's properly queued up in patchwork, you don't need to send it again, I've just been really busy.
Thanks. I understand. I hope you took time to enjoy the holidays as well. :-)
Shaggy