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>
Mon, 17 Jan 2022 02:23:45 +0000 (03:23 +0100)
commitdf51f5e6315ed2fe3cccd5941c7a7d380e0e5ab9
tree25aabed2201555156db2a251d9487ac634eb22f4
parent08ce53e5594e13f1e02e2dac61159b24ec18cbcc
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.

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>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/exports.c [new file with mode: 0644]