Similarly to commit 5cf773fc8f37 ("powerpc/uaccess: Also perform
64 bits copies in unsafe_copy_to_user() on ppc32")

ppc32 has an efficiant 64 bits unsafe_get_user(), so also use it in
order to unroll loops more.

Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu>
---
 arch/powerpc/include/asm/uaccess.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/include/asm/uaccess.h 
b/arch/powerpc/include/asm/uaccess.h
index 77d837b16e4d..a4e791bcd3fe 100644
--- a/arch/powerpc/include/asm/uaccess.h
+++ b/arch/powerpc/include/asm/uaccess.h
@@ -432,9 +432,9 @@ do {                                                        
                                \
        size_t _len = (l);                                                      
        \
        int _i;                                                                 
        \
                                                                                
        \
-       for (_i = 0; _i < (_len & ~(sizeof(long) - 1)); _i += sizeof(long))     
        \
-               unsafe_get_user(*(long *)(_dst + _i), (long __user *)(_src + 
_i), e);   \
-       if (IS_ENABLED(CONFIG_PPC64) && (_len & 4)) {                           
        \
+       for (_i = 0; _i < (_len & ~(sizeof(u64) - 1)); _i += sizeof(u64))       
        \
+               unsafe_get_user(*(u64 *)(_dst + _i), (u64 __user *)(_src + _i), 
e);     \
+       if (_len & 4) {                                                         
        \
                unsafe_get_user(*(u32 *)(_dst + _i), (u32 __user *)(_src + _i), 
e);     \
                _i += 4;                                                        
        \
        }                                                                       
        \
-- 
2.25.0

Reply via email to