rust: export generated symbols
authorMiguel Ojeda <ojeda@kernel.org>
Sat, 3 Jul 2021 15:18:23 +0000 (17:18 +0200)
committerMiguel Ojeda <ojeda@kernel.org>
Wed, 28 Sep 2022 06:59:52 +0000 (08:59 +0200)
commit8fcbf024920b96cd8c59f85d57d97af7237237b4
tree1a255540720736d6857e21304bbf5cc59870e04f
parent247b365dc8dc442412c88fe02346cd2bddac7bd6
rust: export generated symbols

All symbols are reexported reusing the `EXPORT_SYMBOL_GPL` macro
from C. The lists of symbols are generated on the fly.

There are three main sets of symbols to distinguish:

  - The ones from the `core` and `alloc` crates (from the Rust
    standard library). The code is licensed as Apache/MIT.

  - The ones from our abstractions in the `kernel` crate.

  - The helpers (already exported since they are not generated).

We export everything as GPL. This ensures we do not mistakenly
expose GPL kernel symbols/features as non-GPL, even indirectly.

Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Co-developed-by: Alex Gaynor <alex.gaynor@gmail.com>
Signed-off-by: Alex Gaynor <alex.gaynor@gmail.com>
Co-developed-by: Wedson Almeida Filho <wedsonaf@google.com>
Signed-off-by: Wedson Almeida Filho <wedsonaf@google.com>
Co-developed-by: Björn Roy Baron <bjorn3_gh@protonmail.com>
Signed-off-by: Björn Roy Baron <bjorn3_gh@protonmail.com>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/exports.c [new file with mode: 0644]