aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers
diff options
context:
space:
mode:
authorYury Norov (NVIDIA) <yury.norov@gmail.com>2025-10-23 13:16:06 -0400
committerAndrew Morton <akpm@linux-foundation.org>2025-11-12 10:00:16 -0800
commitd99dc586ca7c7729450af2ed39ca1483c0eb7b5c (patch)
tree133c77ad42df4f2eeac6ebb3c636ec93a774b411 /rust/helpers
parent032a730268a3e88a1df1df1bafd9af64a460822e (diff)
downloadtip-d99dc586ca7c7729450af2ed39ca1483c0eb7b5c.tar.gz
uaccess: decouple INLINE_COPY_FROM_USER and CONFIG_RUST
Commit 1f9a8286bc0c ("uaccess: always export _copy_[from|to]_user with CONFIG_RUST") exports _copy_{from,to}_user() unconditionally, if RUST is enabled. This pollutes exported symbols namespace, and spreads RUST ifdefery in core files. It's better to declare a corresponding helper under the rust/helpers, similarly to how non-underscored copy_{from,to}_user() is handled. [yury.norov@gmail.com: drop rust part of comment for _copy_from_user(), per Alice] Link: https://lkml.kernel.org/r/20251024154754.99768-1-yury.norov@gmail.com Link: https://lkml.kernel.org/r/20251023171607.1171534-1-yury.norov@gmail.com Signed-off-by: Yury Norov (NVIDIA) <yury.norov@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Miguel Ojeda <ojeda@kernel.org> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Tested-by: Alice Ryhl <aliceryhl@google.com> Cc: Alex Gaynor <alex.gaynor@gmail.com> Cc: Andreas Hindborg <a.hindborg@kernel.org> Cc: Björn Roy Baron <bjorn3_gh@protonmail.com> Cc: Boqun Feng <boqun.feng@gmail.com> Cc: Danilo Krummrich <dakr@kernel.org> Cc: Gary Guo <gary@garyguo.net> Cc: John Hubbard <jhubbard@nvidia.com> Cc: Trevor Gross <tmgross@umich.edu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'rust/helpers')
-rw-r--r--rust/helpers/uaccess.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/rust/helpers/uaccess.c b/rust/helpers/uaccess.c
index f49076f813cd64..4629b2d15529ab 100644
--- a/rust/helpers/uaccess.c
+++ b/rust/helpers/uaccess.c
@@ -13,3 +13,15 @@ unsigned long rust_helper_copy_to_user(void __user *to, const void *from,
{
return copy_to_user(to, from, n);
}
+
+#ifdef INLINE_COPY_FROM_USER
+unsigned long rust_helper__copy_from_user(void *to, const void __user *from, unsigned long n)
+{
+ return _inline_copy_from_user(to, from, n);
+}
+
+unsigned long rust_helper__copy_to_user(void __user *to, const void *from, unsigned long n)
+{
+ return _inline_copy_to_user(to, from, n);
+}
+#endif