On Fri, Oct 11, 2019 at 12:16 AM Matthias Maennich <maennich@xxxxxxxxxx> wrote: > > The introduction Symbol Namespaces changed the naming schema of the > __ksymtab entries from __kysmtab__symbol to __ksymtab_NAMESPACE.symbol. > > That caused some breakages in tools that depend on the name layout in > either the binaries(vmlinux,*.ko) or in System.map. E.g. kmod's depmod > would not be able to read System.map without a patch to support symbol > namespaces. A warning reported by depmod for namespaced symbols would > look like > > depmod: WARNING: [...]/uas.ko needs unknown symbol usb_stor_adjust_quirks > > In order to address this issue, revert to the original naming scheme and > rather read the __kstrtabns_<symbol> entries and their corresponding > values from __ksymtab_strings to update the namespace values for > symbols. After having read all symbols and handled them in > handle_modversions(), the symbols are created. In a second pass, read > the __kstrtabns_ entries and update the namespaces accordingly. > > Suggested-by: Jessica Yu <jeyu@xxxxxxxxxx> > Fixes: 8651ec01daed ("module: add support for symbol namespaces.") > Signed-off-by: Matthias Maennich <maennich@xxxxxxxxxx> According to https://lore.kernel.org/patchwork/patch/1135222/ was this problem reported by Stefan? Reported-by: Stefan Wahren <stefan.wahren@xxxxxxxx> BTW, I initially suggested this way of fixing. Suggested-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > @@ -74,9 +72,8 @@ struct kernel_symbol { > int namespace_offset; > }; > #else > -#define __KSYMTAB_ENTRY_NS(sym, sec, ns) \ > - static const struct kernel_symbol __ksymtab_##sym##__##ns \ > - asm("__ksymtab_" #ns NS_SEPARATOR #sym) \ For consistency, you could also delete asm("__ksymtab_" #sym) by this patch instead of by 4/4. Not a big deal, though. Reviewed-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> -- Best Regards Masahiro Yamada