• Huacai Chen's avatar
    LoongArch: module: Use got/plt section indices for relocations · 9151dde4
    Huacai Chen authored
    Instead of saving a pointer to the .got, .plt and .plt_idx sections to
    apply {got,plt}-based relocations, save and use their section indices
    instead.
    
    The mod->arch.{core,init}.{got,plt} pointers were problematic for live-
    patch because they pointed within temporary section headers (provided by
    the module loader via info->sechdrs) that would be freed after module
    load. Since livepatch modules may need to apply relocations post-module-
    load (for example, to patch a module that is loaded later), using section
    indices to offset into the section headers (instead of accessing them
    through a saved pointer) allows livepatch modules on LoongArch to pass
    in their own copy of the section headers to apply_relocate_add() to
    apply delayed relocations.
    
    The method used is same as commit c8ebf64e ("arm64/module: use plt
    section indices for relocations").
    Signed-off-by: default avatarHongchen Zhang <zhanghongchen@loongson.cn>
    Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
    9151dde4
module.c 13.5 KB