summaryrefslogtreecommitdiffstats
path: root/kernel/kcov.c
diff options
context:
space:
mode:
authorAndrey Ryabinin <aryabinin@virtuozzo.com>2016-04-28 16:18:55 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2016-04-28 19:34:04 -0700
commit36f05ae8bce904b4c8105363e6227a79d343bda6 (patch)
tree16cc0a209bdf9df6a69e8d2de0776b3d9b1998b2 /kernel/kcov.c
parentbdab42dfc974d15303afbf259f340f374a453974 (diff)
downloadlinux-stable-36f05ae8bce904b4c8105363e6227a79d343bda6.tar.gz
linux-stable-36f05ae8bce904b4c8105363e6227a79d343bda6.tar.bz2
linux-stable-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>
Diffstat (limited to 'kernel/kcov.c')
-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>