|
@@ -386,6 +386,8 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
|
|
if (IS_ENABLED(CONFIG_ARM64_MODULE_PLTS) &&
|
|
if (IS_ENABLED(CONFIG_ARM64_MODULE_PLTS) &&
|
|
ovf == -ERANGE) {
|
|
ovf == -ERANGE) {
|
|
val = module_emit_plt_entry(me, loc, &rel[i], sym);
|
|
val = module_emit_plt_entry(me, loc, &rel[i], sym);
|
|
|
|
+ if (!val)
|
|
|
|
+ return -ENOEXEC;
|
|
ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2,
|
|
ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2,
|
|
26, AARCH64_INSN_IMM_26);
|
|
26, AARCH64_INSN_IMM_26);
|
|
}
|
|
}
|