]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
uaccess: minimize INLINE_COPY_USER-related ifdefery
authorYury Norov <ynorov@nvidia.com>
Sat, 25 Apr 2026 02:08:57 +0000 (22:08 -0400)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 29 May 2026 04:24:45 +0000 (21:24 -0700)
Now that we've got the same config selecting inline vs outline
copy_to_user() and copy_from_user(), we can simplify the corresponding
logic in the uaccess.h.

Link: https://lore.kernel.org/20260425020857.356850-4-ynorov@nvidia.com
Fixes: 1f9a8286bc0c ("uaccess: always export _copy_[from|to]_user with CONFIG_RUST")
Signed-off-by: Yury Norov <ynorov@nvidia.com>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Viktor Malik <vmalik@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/uaccess.h

index 6100f1046546347c639eca1624d6c3bacb033b8d..e0c3d6e29301dbdabe0521f2b1045f46948db4e0 100644 (file)
@@ -190,10 +190,6 @@ fail:
        memset(to + (n - res), 0, res);
        return res;
 }
-#ifndef INLINE_COPY_USER
-extern __must_check unsigned long
-_copy_from_user(void *, const void __user *, unsigned long);
-#endif
 
 static inline __must_check unsigned long
 _inline_copy_to_user(void __user *to, const void *from, unsigned long n)
@@ -207,7 +203,13 @@ _inline_copy_to_user(void __user *to, const void *from, unsigned long n)
        }
        return n;
 }
-#ifndef INLINE_COPY_USER
+#ifdef INLINE_COPY_USER
+# define _copy_to_user _inline_copy_to_user
+# define _copy_from_user _inline_copy_from_user
+#else
+extern __must_check unsigned long
+_copy_from_user(void *, const void __user *, unsigned long);
+
 extern __must_check unsigned long
 _copy_to_user(void __user *, const void *, unsigned long);
 #endif
@@ -217,11 +219,7 @@ copy_from_user(void *to, const void __user *from, unsigned long n)
 {
        if (!check_copy_size(to, n, false))
                return n;
-#ifdef INLINE_COPY_USER
-       return _inline_copy_from_user(to, from, n);
-#else
        return _copy_from_user(to, from, n);
-#endif
 }
 
 static __always_inline unsigned long __must_check
@@ -229,12 +227,7 @@ copy_to_user(void __user *to, const void *from, unsigned long n)
 {
        if (!check_copy_size(from, n, true))
                return n;
-
-#ifdef INLINE_COPY_USER
-       return _inline_copy_to_user(to, from, n);
-#else
        return _copy_to_user(to, from, n);
-#endif
 }
 
 #ifndef copy_mc_to_kernel