On Fri, 11 Oct 2024 08:23:18 -0700 Sami Tolvanen <samitolvanen@xxxxxxxxxx> wrote: > On Fri, Oct 11, 2024 at 5:13 AM Gary Guo <gary@xxxxxxxxxxx> wrote: > > > > On Fri, 11 Oct 2024 10:13:34 +0000 > > Alice Ryhl <aliceryhl@xxxxxxxxxx> wrote: > > > > > +#ifndef CONFIG_JUMP_LABEL > > > +int rust_helper_static_key_count(struct static_key *key) > > > +{ > > > + return static_key_count(key); > > > +} > > > +EXPORT_SYMBOL_GPL(rust_helper_static_key_count); > > > > ^ Explicit export should be removed. This only works because we didn't > > remove export.h from all helpers.c yet, but there's a patch to do > > that and this will stop working. > > What's the benefit of removing explicit exports from the Rust helper C > code? It requires special casing things like modversions for these > files, so I assume there's a reason for this. I asked about it here, > but never got a response: > > https://lore.kernel.org/rust-for-linux/CABCJKudqAEvLcdqTqyfE2+iW+jeqBpnTGgYJvrZ0by6hGdfevQ@xxxxxxxxxxxxxx/ > > Sami Ah, I didn't saw that email, probably because I archived the mails after the patch is applied. We're working towards having an option that enables inlining these helpers into Rust; when that option is enabled, the helpers must not be exported. See https://lore.kernel.org/rust-for-linux/20240529202817.3641974-1-gary@xxxxxxxxxxx/ and https://lwn.net/Articles/993163/. It's also quite tedious for every helper to carry this export. Best, Gary