• M
    module: rename __kstrtab_ns_* to __kstrtabns_* to avoid symbol conflict · fa6643cd
    Masahiro Yamada 提交于
    The module namespace produces __strtab_ns_<sym> symbols to store
    namespace strings, but it does not guarantee the name uniqueness.
    This is a potential problem because we have exported symbols starting
    with "ns_".
    
    For example, kernel/capability.c exports the following symbols:
    
      EXPORT_SYMBOL(ns_capable);
      EXPORT_SYMBOL(capable);
    
    Assume a situation where those are converted as follows:
    
      EXPORT_SYMBOL_NS(ns_capable, some_namespace);
      EXPORT_SYMBOL_NS(capable, some_namespace);
    
    The former expands to "__kstrtab_ns_capable" and "__kstrtab_ns_ns_capable",
    and the latter to "__kstrtab_capable" and "__kstrtab_ns_capable".
    Then, we have the duplicated "__kstrtab_ns_capable".
    
    To ensure the uniqueness, rename "__kstrtab_ns_*" to "__kstrtabns_*".
    Reviewed-by: NMatthias Maennich <maennich@google.com>
    Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: NJessica Yu <jeyu@kernel.org>
    fa6643cd
export.h 6.3 KB