Re: [PATCH v2] x86/lib: Do not use local symbols with SYM_CODE_START_LOCAL()

From: Dave Hansen
Date: Fri May 26 2023 - 17:17:30 EST


On 5/26/23 14:10, Nadav Amit wrote:
>>> I did not ask to make them global. Just to keep them as local after
>>> linkage in the executable, like all other functions in the kernel.
>> Ok, not global. But local and present in the symbol table:
>>
>> 105185: ffffffff81b89330 17 NOTYPE LOCAL DEFAULT 1 bad_get_user_clac
>>
>> And again, this helps how exactly?
> Allowing debuggers, tracers, disassemblers and instrumentation tools to
> work the same way they work as they work with any other piece of code in
> the kernel.
>
> I personally work on code instrumentation and this makes my life hard for
> no good reason.
>
> [ Perhaps the question should go the other way around: why addresses of
> code in these functions should not be mapped to any symbol? ]

Nadav, is there a chance you could give us a real-life example of how
this affects you as an end user? What's a specific tool that you were
using or a specific problem that you were trying to solve where these
local symbols caused a problem? How would the global symbol have helped?

I can certainly _imagine_ some, but I'm curious what you saw that
prompted you to send this patch.