[Intel-wired-lan] [PATCH] namespace: fix namespace.pl script to support relative paths

Randy Dunlap rdunlap at infradead.org
Fri Oct 25 19:30:01 UTC 2019


On 10/25/19 10:45 AM, Keller, Jacob E wrote:
> 
>> -----Original Message-----
>> From: Masahiro Yamada <yamada.masahiro at socionext.com>
>> Sent: Wednesday, October 23, 2019 6:22 PM
>> To: Keller, Jacob E <jacob.e.keller at intel.com>
>> Cc: Randy Dunlap <rdunlap at infradead.org>; intel-wired-lan at lists.osuosl.org;
>> linux-kernel at vger.kernel.org; linux-kbuild <linux-kbuild at vger.kernel.org>
>> Subject: Re: [PATCH] namespace: fix namespace.pl script to support relative
>> paths
>>
>> On Thu, Oct 24, 2019 at 6:34 AM Keller, Jacob E
>> <jacob.e.keller at intel.com> wrote:
>>>
>>>> -----Original Message-----
>>>> From: Masahiro Yamada <yamada.masahiro at socionext.com>
>>>> Sent: Tuesday, October 22, 2019 10:22 PM
>>>> To: Keller, Jacob E <jacob.e.keller at intel.com>; Randy Dunlap
>>>> <rdunlap at infradead.org>
>>>> Cc: intel-wired-lan at lists.osuosl.org; linux-kernel at vger.kernel.org; linux-
>> kbuild
>>>> <linux-kbuild at vger.kernel.org>
>>>> Subject: Re: [PATCH] namespace: fix namespace.pl script to support relative
>>>> paths
>>>>
>>>> This scripts has been 5-year broken,
>>>> and I did not see any complaint except from you.
>>>> So, I wonder how many people are using this.
>>>>
>>>> Nor, do I understand how to use it.
>>>>
>>>> Could you teach me a bit more about this script?
>>>>
>>>>
>>>>
>>>> Something might be missing in my mind, but
>>>> I do not know how to use this script in a useful way.
>>>>
>>>>
>>>>
>>>> It provides three checks.
>>>>
>>>> [1] list_multiply_defined()
>>>>
>>>> This warns multiple definition of functions.
>>>>
>>>> The compiler would fail if it saw any multiple definition,
>>>> so the reports from this check are all false-positive.
>>>>
>>>>
>>>> [2] resolve_external_references()
>>>>
>>>> This warns unresolved symbols.
>>>>
>>>> The compiler would fail if it saw any unresolved symbol,
>>>> so the reports from this check are all false-positive, too.
>>>>
>>>>
>>>
>>> The compiler won't necessarily fail when building modules, because the symbol
>> might be in another loadable module.
>>
>> Right, but this is already checked by modpost, isn't it?
>>
>>
>>
>>>>
>>>>
>>>> [3] list_extra_externals
>>>>
>>>> This warns symbols with no reference.
>>>>
>>>> This potentially contains lots of false-positives.
>>>> For example, the core framework provides APIs, but if all drivers
>>>> are disabled, there is no user of those APIs.
>>>>
>>>
>>> We use this to help verify that driver modules do not expose symbols.
>>
>> Ah, the output is quite large, so
>> you search for only modules in your interest. Right?
>>
> 
> We run it on only one module at a time, yes.
> 
>>
>> If you want to detect missing 'static',
>> have you tried 'sparse'?
>>
> 
> We've used that as well. 
> 
> To be fair, I agree that it covers similar functionality as other tools. I haven't looked directly at namespace.pl output in a while, and the fix here is multiple years old that took a long time to get picked up.
> 
> If it's agreed that the tool has no value, and especially if it results in false indications of a problem, then maybe removing it to prevent someone from mis-reading its output makes sense?

If there is a satisfactory alternative, I expect that namespace.pl is old,
unmaintained, and unneeded, and should go away.

-- 
~Randy



More information about the Intel-wired-lan mailing list