From 6edd1dbace0e8529ed167e8a5f9da63c0cc763cc Mon Sep 17 00:00:00 2001
From: Christoph Hellwig <hch@lst.de>
Date: Tue, 23 Apr 2019 18:38:09 +0200
Subject: [PATCH] asm-generic: optimize generic uaccess for 8-byte loads and
 stores

On 64-bit architectures we can also use the direct load/store trick for
8-byte values.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 include/asm-generic/uaccess.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/include/asm-generic/uaccess.h b/include/asm-generic/uaccess.h
index 3dcabfceb21e3..e935318804f8a 100644
--- a/include/asm-generic/uaccess.h
+++ b/include/asm-generic/uaccess.h
@@ -24,6 +24,11 @@ raw_copy_from_user(void *to, const void __user * from, unsigned long n)
 		case 4:
 			*(u32 *)to = *(u32 __force *)from;
 			return 0;
+#ifdef CONFIG_64BIT
+		case 8:
+			*(u64 *)to = *(u64 __force *)from;
+			return 0;
+#endif
 		}
 	}
 
@@ -45,6 +50,11 @@ raw_copy_to_user(void __user *to, const void *from, unsigned long n)
 		case 4:
 			*(u32 __force *)to = *(u32 *)from;
 			return 0;
+#ifdef CONFIG_64BIT
+		case 8:
+			*(u64 __force *)to = *(u64 *)from;
+			return 0;
+#endif
 		default:
 			break;
 		}
-- 
GitLab