Re: [PATCH v3 2/2] powerpc/uaccess: Add pre-update addressing to __get_user_asm() and __put_user_asm()

2020-08-12 Thread Christophe Leroy




Le 12/08/2020 à 21:37, Segher Boessenkool a écrit :

On Wed, Aug 12, 2020 at 12:25:17PM +, Christophe Leroy wrote:

Enable pre-update addressing mode in __get_user_asm() and __put_user_asm()

Signed-off-by: Christophe Leroy 
---
v3: new, splited out from patch 1.


It still looks fine to me, you can keep my Reviewed-by: :-)



Ah yes thanks, forgot it when I commited it.

Reviewed-by: Segher Boessenkool 

Christophe


Re: [PATCH v3 2/2] powerpc/uaccess: Add pre-update addressing to __get_user_asm() and __put_user_asm()

2020-08-12 Thread Segher Boessenkool
On Wed, Aug 12, 2020 at 12:25:17PM +, Christophe Leroy wrote:
> Enable pre-update addressing mode in __get_user_asm() and __put_user_asm()
> 
> Signed-off-by: Christophe Leroy 
> ---
> v3: new, splited out from patch 1.

It still looks fine to me, you can keep my Reviewed-by: :-)


Segher


[PATCH v3 2/2] powerpc/uaccess: Add pre-update addressing to __get_user_asm() and __put_user_asm()

2020-08-12 Thread Christophe Leroy
Enable pre-update addressing mode in __get_user_asm() and __put_user_asm()

Signed-off-by: Christophe Leroy 
---
v3: new, splited out from patch 1.
---
 arch/powerpc/include/asm/uaccess.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/include/asm/uaccess.h 
b/arch/powerpc/include/asm/uaccess.h
index c546fb36043d..eadb25f4cc9f 100644
--- a/arch/powerpc/include/asm/uaccess.h
+++ b/arch/powerpc/include/asm/uaccess.h
@@ -159,7 +159,7 @@ extern long __put_user_bad(void);
  */
 #define __put_user_asm(x, addr, err, op)   \
__asm__ __volatile__(   \
-   "1: " op "%X2 %1,%2 # put_user\n"   \
+   "1: " op "%U2%X2 %1,%2  # put_user\n"   \
"2:\n"  \
".section .fixup,\"ax\"\n"  \
"3: li %0,%3\n" \
@@ -167,7 +167,7 @@ extern long __put_user_bad(void);
".previous\n"   \
EX_TABLE(1b, 3b)\
: "=r" (err)\
-   : "r" (x), "m" (*addr), "i" (-EFAULT), "0" (err))
+   : "r" (x), "m<>" (*addr), "i" (-EFAULT), "0" (err))
 
 #ifdef __powerpc64__
 #define __put_user_asm2(x, ptr, retval)\
@@ -317,7 +317,7 @@ extern long __get_user_bad(void);
 
 #define __get_user_asm(x, addr, err, op)   \
__asm__ __volatile__(   \
-   "1: "op"%X2 %1, %2  # get_user\n"   \
+   "1: "op"%U2%X2 %1, %2   # get_user\n"   \
"2:\n"  \
".section .fixup,\"ax\"\n"  \
"3: li %0,%3\n" \
@@ -326,7 +326,7 @@ extern long __get_user_bad(void);
".previous\n"   \
EX_TABLE(1b, 3b)\
: "=r" (err), "=r" (x)  \
-   : "m" (*addr), "i" (-EFAULT), "0" (err))
+   : "m<>" (*addr), "i" (-EFAULT), "0" (err))
 
 #ifdef __powerpc64__
 #define __get_user_asm2(x, addr, err)  \
-- 
2.25.0