summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2025-02-11 22:19:28 +0300
committerVasily Gorbik <gor@linux.ibm.com>2025-03-04 19:18:03 +0300
commit10a79b6fdd1a4ead85d270bfa3ae0b7bb83020cf (patch)
tree944f7b7153806f9c951f9102b427bb8e6351157f
parentbc6029239c11df78433c2085d8c9ee0e1109dfd2 (diff)
downloadlinux-10a79b6fdd1a4ead85d270bfa3ae0b7bb83020cf.tar.xz
s390/uaccess: Define INLINE_COPY_FROM_USER and INLINE_COPY_TO_USER
Inline copy_from_user() and copy_to_user(). With the shortened inline assemblies of raw_copy_to_user() and raw_copy_from_user() the additional kernel text size is acceptable, considering that this avoids function calls on hot paths. This increases the kernel text size by ~90kb (defconfig, gcc 14.2.0): add/remove: 13/4 grow/shrink: 650/14 up/down: 93484/-3254 (90230) Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
-rw-r--r--arch/s390/include/asm/uaccess.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/include/asm/uaccess.h b/arch/s390/include/asm/uaccess.h
index 87833f50fa52..333a2afc0d6f 100644
--- a/arch/s390/include/asm/uaccess.h
+++ b/arch/s390/include/asm/uaccess.h
@@ -28,6 +28,9 @@ void debug_user_asce(int exit);
#define uaccess_kmsan_or_inline __always_inline
#endif
+#define INLINE_COPY_FROM_USER
+#define INLINE_COPY_TO_USER
+
static uaccess_kmsan_or_inline __must_check unsigned long
raw_copy_from_user(void *to, const void __user *from, unsigned long size)
{