On Fri, 9 Oct 2020 17:18:44 -0700 Jacob Keller wrote: > namespace.pl is intended to help locate symbols which are defined but > are not used externally. The goal is to avoid bloat of the namespace in > the resulting kernel image. > > The script relies on object data, and only finds unused symbols for the > configuration used to generate that object data. This results in a lot > of false positive warnings such as symbols only used by a single > architecture, or symbols which are used externally only under certain > configurations. > > Running namespace.pl using allyesconfig, allmodconfig, and > x86_64_defconfig yields the following results: > > * allmodconfig > * 11122 unique symbol names with no external reference > * 1194 symbols listed as multiply defined > * 214 symbols it can't resolve > * allyesconfig > * 10997 unique symbol names with no external reference > * 1194 symbols listed as multiply defined > * 214 symbols it can't resolve > * x86_64_defconfig > * 5757 unique symbol names with no external reference > * 528 symbols listed as multiply defined > * 154 symbols it can't resolve > > The script also has no way to easily limit the scope of the checks to > a given subset of the kernel, such as only checking for symbols defined > within a module or subsystem. > > Discussion on public mailing lists seems to indicate that many view the > tool output as suspect or not very useful (see discussions at [1] and > [2] for further context). Acked-by: Jakub Kicinski <kuba@xxxxxxxxxx> Thanks!