• Jessica Yu's avatar
    Elf: add livepatch-specific Elf constants · 8d98e96b
    Jessica Yu authored
    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: default avatarJessica Yu <jeyu@redhat.com>
    Reviewed-by: default avatarMiroslav Benes <mbenes@suse.cz>
    Acked-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    8d98e96b
elf.h 11.7 KB