diff options
| author | Heiko Carstens <hca@linux.ibm.com> | 2025-02-11 22:19:28 +0300 |
|---|---|---|
| committer | Vasily Gorbik <gor@linux.ibm.com> | 2025-03-04 19:18:03 +0300 |
| commit | 10a79b6fdd1a4ead85d270bfa3ae0b7bb83020cf (patch) | |
| tree | 944f7b7153806f9c951f9102b427bb8e6351157f | |
| parent | bc6029239c11df78433c2085d8c9ee0e1109dfd2 (diff) | |
| download | linux-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.h | 3 |
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) { |
