Hi Matt, On Tue, Oct 15, 2024 at 4:19 PM Matthew Maurer <mmaurer@xxxxxxxxxx> wrote: > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > index 107393a8c48a..d18ff8a1109a 100644 > --- a/scripts/mod/modpost.c > +++ b/scripts/mod/modpost.c > @@ -1840,15 +1840,56 @@ static void add_versions(struct buffer *b, struct module *mod) > continue; > } > if (strlen(s->name) >= MODULE_NAME_LEN) { > +#ifdef CONFIG_EXTENDED_MODVERSIONS > + /* this symbol will only be in the extended info */ > + continue; > +#else > error("too long symbol \"%s\" [%s.ko]\n", > s->name, mod->name); > break; > +#endif I applied these patches to my test tree[1] and have the following options enabled in my .config: $ grep -E 'MODVERSIONS|GEN.*KSYMS' .config CONFIG_HAVE_ASM_MODVERSIONS=y CONFIG_MODVERSIONS=y # CONFIG_GENKSYMS is not set CONFIG_GENDWARFKSYMS=y CONFIG_ASM_MODVERSIONS=y CONFIG_EXTENDED_MODVERSIONS=y When I try to build a Rust module, I still get the following error: ERROR: modpost: too long symbol "_RNvXs2_NtNtNtCsivAAjSnxUpM_4core3fmt3num3implNtB9_7Display3fmt" [samples/rust/rust_print.ko] I suspect gating this behind a config would require you to add a new command line flag to modpost and check for CONFIG_EXTENDED_MODVERSIONS in scripts/Makefile.modpost instead. [1] https://github.com/samitolvanen/linux/commits/rustmodversions Sami