diff options
author | Andrey Ryabinin <aryabinin@virtuozzo.com> | 2016-04-28 16:18:55 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-04-28 19:34:04 -0700 |
commit | 36f05ae8bce904b4c8105363e6227a79d343bda6 (patch) | |
tree | 16cc0a209bdf9df6a69e8d2de0776b3d9b1998b2 /kernel/kcov.c | |
parent | bdab42dfc974d15303afbf259f340f374a453974 (diff) | |
download | linux-36f05ae8bce904b4c8105363e6227a79d343bda6.tar.gz linux-36f05ae8bce904b4c8105363e6227a79d343bda6.tar.bz2 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>
Diffstat (limited to 'kernel/kcov.c')
-rw-r--r-- | kernel/kcov.c | 1 |
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> |