ANDROID: rust: allow MODVERSIONS by no longer exporting symbols

Rust symbols on the kernel interface don't support MODVERSIONS, but
users may want to use Rust only for built-in components. Specifically,
the new binder driver will be built-in and this allows us to enable
RUST without disabling MODVERSIONS to support that.

Work is still ongoing on the list to determine a form of MODVERSIONS
support that upstream will support. In the meantime, this patch stops
us from exporting Rust symbols to modules, so we won't accidentally
enable support for Rust modules in our kernel before MODVERSIONS
is working upstream.

This patch does not belong upstream as it is a local placeholder
to unblock deployment of the Rust binder driver until an upstream
solution can be decided on.

Link: https://lore.kernel.org/lkml/CAGSQo005hRiUZdeppCifDqG9zFDJRwahpBLE4x7-MyfJscn7tQ@mail.gmail.com/
Signed-off-by: Matthew Maurer <mmaurer@google.com>
Bug: 308623792
Change-Id: I6d5a27af73e64eb2b5b922c5ebb825c4e4b5b312
This commit is contained in:
Matthew Maurer 2023-11-28 00:38:03 +00:00 committed by Treehugger Robot
parent ba32cf0d72
commit 4085063afb
2 changed files with 1 additions and 2 deletions

View File

@ -1885,7 +1885,6 @@ config RUST
bool "Rust support"
depends on HAVE_RUST
depends on RUST_IS_AVAILABLE
depends on !MODVERSIONS
depends on !GCC_PLUGINS
depends on !RANDSTRUCT
depends on !DEBUG_INFO_BTF || PAHOLE_HAS_LANG_EXCLUDE

View File

@ -13,7 +13,7 @@
#include <linux/module.h>
#define EXPORT_SYMBOL_RUST_GPL(sym) extern int sym; EXPORT_SYMBOL_GPL(sym)
#define EXPORT_SYMBOL_RUST_GPL(sym)
#include "exports_core_generated.h"
#include "exports_alloc_generated.h"