On Mon, Oct 23, 2023, at 09:57, Maria Yu wrote: > Module PLT feature can be enabled even when RANDOM_BASE is disabled. > Break BLT entry counts of relocation types will make module plt entry > allocation fail and finally exec format error for even correct and plt > allocation available modules. > > Signed-off-by: Maria Yu <quic_aiquny@xxxxxxxxxxx> Adding Ard Biesheuvel to Cc, as he added the check in commit a257e02579e42 ("arm64/kernel: don't ban ADRP to work around Cortex-A53 erratum #843419") > arch/arm64/kernel/module-plts.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/arch/arm64/kernel/module-plts.c > b/arch/arm64/kernel/module-plts.c > index bd69a4e7cd60..21a67d52d7a0 100644 > --- a/arch/arm64/kernel/module-plts.c > +++ b/arch/arm64/kernel/module-plts.c > @@ -167,9 +167,6 @@ static unsigned int count_plts(Elf64_Sym *syms, > Elf64_Rela *rela, int num, > switch (ELF64_R_TYPE(rela[i].r_info)) { > case R_AARCH64_JUMP26: > case R_AARCH64_CALL26: > - if (!IS_ENABLED(CONFIG_RANDOMIZE_BASE)) > - break; > - > /* > * We only have to consider branch targets that resolve > * to symbols that are defined in a different section. I see there are two such checks (in partition_branch_plt_relas() and in count_plts()), can you explain in more detail how you concluded that one of them is correct but the other one is not? Arnd