lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20210120173800.1660730-16-jthierry@redhat.com> Date: Wed, 20 Jan 2021 18:37:58 +0100 From: Julien Thierry <jthierry@...hat.com> To: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org Cc: catalin.marinas@....com, will@...nel.org, ardb@...nel.org, masahiroy@...nel.org, keescook@...omium.org, michal.lkml@...kovi.net, jpoimboe@...hat.com, peterz@...radead.org, mark.rutland@....com, broonie@...nel.org, linux-efi@...r.kernel.org, linux-hardening@...r.kernel.org, Julien Thierry <jthierry@...hat.com> Subject: [RFC PATCH 15/17] objtool: arm64: Handle supported relocations in alternatives Based on get_alt_insn() in arch/arm64/kernel/alternative.c, arm64 alternative code adapts offsets for static branches and adrp instructions. Signed-off-by: Julien Thierry <jthierry@...hat.com> --- tools/objtool/arch/arm64/special.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/objtool/arch/arm64/special.c b/tools/objtool/arch/arm64/special.c index c9c3e0bfd581..d47e5590ed60 100644 --- a/tools/objtool/arch/arm64/special.c +++ b/tools/objtool/arch/arm64/special.c @@ -30,7 +30,11 @@ bool arch_support_alt_relocation(struct special_alt *special_alt, struct instruction *insn, struct reloc *reloc) { - return false; + u32 opcode = *(u32 *)(insn->sec->data->d_buf + insn->offset); + + return aarch64_insn_is_branch_imm(opcode) || + aarch64_insn_is_adrp(opcode) || + !aarch64_insn_uses_literal(opcode); } static struct section *get_switch_table_info_section(struct objtool_file *file) -- 2.25.4
Powered by blists - more mailing lists