From afe37ab3fd229b93319553637e4a12a4c6d6703a Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Sun, 14 Nov 2021 19:53:22 +0800 Subject: [PATCH 04/38] create-diff-object:support skip check func profiling calls when kernel support livepatch without ftrace, we can skip check func profiling calls. Signed-off-by: Zhipeng Xie --- kpatch-build/create-diff-object.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c index f854eca..f7b59f0 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c @@ -4069,6 +4069,7 @@ int main(int argc, char *argv[]) struct section *relasec, *symtab; char *orig_obj, *patched_obj, *parent_name; char *parent_symtab, *mod_symvers, *patch_name, *output_obj; + char *no_profiling_calls = NULL; memset(&arguments, 0, sizeof(arguments)); argp_parse (&argp, argc, argv, 0, NULL, &arguments); @@ -4122,7 +4123,12 @@ int main(int argc, char *argv[]) kpatch_compare_correlated_elements(kelf_patched); kpatch_mark_ignored_functions_same(kelf_patched); kpatch_mark_ignored_sections_same(kelf_patched); - kpatch_check_func_profiling_calls(kelf_patched); + no_profiling_calls = getenv("NO_PROFILING_CALLS"); + if (!no_profiling_calls) + kpatch_check_func_profiling_calls(kelf_patched); + else + log_debug("NO_PROFILING_CALLS set\n"); + kpatch_elf_teardown(kelf_orig); kpatch_elf_free(kelf_orig); -- 2.33.0