Re: [PATCH] module: exclude SHN_UNDEF symbols from kallsyms api

From: Josh Poimboeuf
Date: Tue Jun 05 2018 - 09:57:09 EST


On Tue, Jun 05, 2018 at 10:42:23AM +0200, Jessica Yu wrote:
> Livepatch modules are special in that we preserve their entire symbol
> tables in order to be able to apply relocations after module load. The
> unwanted side effect of this is that undefined (SHN_UNDEF) symbols of
> livepatch modules are accessible via the kallsyms api and this can
> confuse symbol resolution in livepatch (klp_find_object_symbol()) and
> cause subtle bugs in livepatch.
>
> Have the module kallsyms api skip over SHN_UNDEF symbols. These symbols
> are usually not available for normal modules anyway as we cut down their
> symbol tables to just the core (non-undefined) symbols, so this should
> really just affect livepatch modules. Note that this patch doesn't
> affect the display of undefined symbols in /proc/kallsyms.
>
> Reported-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> Tested-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> Signed-off-by: Jessica Yu <jeyu@xxxxxxxxxx>

Reviewed-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>

--
Josh