modpost: remove annoying namespace_from_kstrtabns()
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 5 Apr 2022 11:33:54 +0000 (20:33 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 7 May 2022 18:16:58 +0000 (03:16 +0900)
commit79f646e8654b6b8e4f7dda456ec3eabd51052041
tree94f5ffbf2639714ca6e994b8668a701bc2b4999e
parentb5f1a52a59eb810f68c96d1cea7cf1256c39956c
modpost: remove annoying namespace_from_kstrtabns()

There are two call sites for sym_update_namespace().

When the symbol has no namespace, s->namespace is set to NULL,
but the conversion from "" to NULL is done in two different places.

[1] read_symbols()

  This gets the namespace from __kstrtabns_<symbol>. If the symbol has
  no namespace, sym_get_data(info, sym) returns the empty string "".
  namespace_from_kstrtabns() converts it to NULL before it is passed to
  sym_update_namespace().

[2] read_dump()

  This gets the namespace from the dump file, *.symvers. If the symbol
  has no namespace, the 'namespace' is the empty string "", which is
  directly passed into sym_update_namespace(). The conversion from
  "" to NULL is done in sym_update_namespace().

namespace_from_kstrtabns() exists only for creating this inconsistency.

Remove namespace_from_kstrtabns() so that sym_update_namespace() is
consistently passed with "" instead of NULL.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
scripts/mod/modpost.c