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
| ||
|
Date: Mon, 8 Aug 2022 17:19:06 +0530 From: Sathvika Vasireddy <sv@...ux.ibm.com> To: linuxppc-dev@...ts.ozlabs.org Cc: jpoimboe@...hat.com, peterz@...radead.org, linux-kernel@...r.kernel.org, aik@...abs.ru, mpe@...erman.id.au, mingo@...hat.com, christophe.leroy@...roup.eu, rostedt@...dmis.org, mbenes@...e.cz, npiggin@...il.com, chenzhongjin@...wei.com, linux-arm-kernel@...ts.infradead.org, naveen.n.rao@...ux.vnet.ibm.com, sv@...ux.ibm.com Subject: [PATCH 14/16] objtool: Add arch specific function arch_ftrace_match() Add architecture specific function to look for relocation records pointing to arch specific symbols. Suggested-by: Christophe Leroy <christophe.leroy@...roup.eu> Signed-off-by: Sathvika Vasireddy <sv@...ux.ibm.com> --- tools/objtool/arch/x86/decode.c | 8 ++++++++ tools/objtool/check.c | 2 +- tools/objtool/include/objtool/arch.h | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/objtool/arch/x86/decode.c b/tools/objtool/arch/x86/decode.c index c260006106be..0e91eb1d6386 100644 --- a/tools/objtool/arch/x86/decode.c +++ b/tools/objtool/arch/x86/decode.c @@ -23,6 +23,14 @@ #include <objtool/builtin.h> #include <arch/elf.h> +bool arch_ftrace_match(char *name) +{ + if (!strcmp(func->name, "__fentry__")) + return true; + + return false; +} + static int is_x86_64(const struct elf *elf) { switch (elf->ehdr.e_machine) { diff --git a/tools/objtool/check.c b/tools/objtool/check.c index 2f1da8dbfce9..dda163c1e5a3 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -2294,7 +2294,7 @@ static int classify_symbols(struct objtool_file *file) if (arch_is_rethunk(func)) func->return_thunk = true; - if (!strcmp(func->name, "__fentry__")) + if (arch_ftrace_match(func->name)) func->fentry = true; if (is_profiling_func(func->name)) diff --git a/tools/objtool/include/objtool/arch.h b/tools/objtool/include/objtool/arch.h index beb2f3aa94ff..2ba4b9897285 100644 --- a/tools/objtool/include/objtool/arch.h +++ b/tools/objtool/include/objtool/arch.h @@ -69,6 +69,8 @@ struct stack_op { struct instruction; +bool arch_ftrace_match(char *name); + void arch_initial_func_cfi_state(struct cfi_init_state *state); int arch_decode_instruction(struct objtool_file *file, const struct section *sec, -- 2.31.1
Powered by blists - more mailing lists