summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Ryabinin <aryabinin@virtuozzo.com>2016-04-29 01:18:55 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2016-04-29 04:34:04 +0200
commit36f05ae8bce904b4c8105363e6227a79d343bda6 (patch)
tree16cc0a209bdf9df6a69e8d2de0776b3d9b1998b2
parentkcov: don't trace the code coverage code (diff)
downloadlinux-36f05ae8bce904b4c8105363e6227a79d343bda6.tar.xz
linux-36f05ae8bce904b4c8105363e6227a79d343bda6.zip
kcov: don't profile branches in kcov
Profiling 'if' statements in __sanitizer_cov_trace_pc() leads to unbound recursion and crash: __sanitizer_cov_trace_pc() -> ftrace_likely_update -> __sanitizer_cov_trace_pc() ... Define DISABLE_BRANCH_PROFILING to disable this tracer. Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--kernel/kcov.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/kcov.c b/kernel/kcov.c
index 78bed7125515..a02f2dddd1d7 100644
--- a/kernel/kcov.c
+++ b/kernel/kcov.c
@@ -1,5 +1,6 @@
#define pr_fmt(fmt) "kcov: " fmt
+#define DISABLE_BRANCH_PROFILING
#include <linux/compiler.h>
#include <linux/types.h>
#include <linux/file.h>