Re: [PATCH v5 1/6] Elf: add livepatch-specific Elf constants

From: Miroslav Benes
Date: Mon Mar 21 2016 - 09:47:15 EST


On Wed, 16 Mar 2016, Jessica Yu wrote:

> Livepatch manages its own relocation sections and symbols in order to be
> able to reuse module loader code to write relocations. This removes
> livepatch's dependence on separate "dynrela" sections to write relocations
> and also allows livepatch to patch modules that are not yet loaded.
>
> The livepatch Elf relocation section flag (SHF_RELA_LIVEPATCH),
> and symbol section index (SHN_LIVEPATCH) allow both livepatch and the
> module loader to identity livepatch relocation sections and livepatch
> symbols.
>
> Livepatch relocation sections are marked with SHF_RELA_LIVEPATCH to
> indicate to the module loader that it should not apply that relocation
> section and that livepatch will handle them.
>
> The SHN_LIVEPATCH shndx marks symbols that will be resolved by livepatch.
> The module loader ignores these symbols and does not attempt to resolve
> them.
>
> The values of these Elf constants were selected from OS-specific
> ranges according to the definitions from glibc.
>
> Signed-off-by: Jessica Yu <jeyu@xxxxxxxxxx>

Reviewed-by: Miroslav Benes <mbenes@xxxxxxx>