Messages in this thread Patch in this message | | | From | James Morse <> | Subject | [PATCH] kcov: Don't trace the code coverage code | Date | Wed, 13 Apr 2016 17:22:37 +0100 |
| |
Kcov causes the compiler to add a call to __sanitizer_cov_trace_pc() in every basic block. Ftrace patches in a call to _mcount() to each function it has annotated.
Letting these mechanisms annotate each other is a bad thing. Break the loop by adding 'notrace' to __sanitizer_cov_trace_pc() so that ftrace won't try to patch this code.
Signed-off-by: James Morse <james.morse@arm.com> --- This patch lets arm64 with KCOV and STACK_TRACER boot.
kernel/kcov.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/kcov.c b/kernel/kcov.c index 3efbee0834a8..78bed7125515 100644 --- a/kernel/kcov.c +++ b/kernel/kcov.c @@ -43,7 +43,7 @@ struct kcov { * Entry point from instrumented code. * This is called once per basic-block/edge. */ -void __sanitizer_cov_trace_pc(void) +void notrace __sanitizer_cov_trace_pc(void) { struct task_struct *t; enum kcov_mode mode; -- 2.8.0.rc3
| |