summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2017-05-23 21:53:57 -0400
committerSasha Levin <alexander.levin@verizon.com>2017-06-25 22:02:20 -0400
commit8bc30cf03ca194f237e56dbad89b21fddf2c8ae0 (patch)
tree0fb5f0962d6c18a4982039be82f8b2c1294a55a6 /mm
parentacd666657821b1440dcb483cb4cde659017ee513 (diff)
kasan: respect /proc/sys/kernel/traceoff_on_warning
[ Upstream commit 4f40c6e5627ea73b4e7c615c59631f38cc880885 ] After much waiting I finally reproduced a KASAN issue, only to find my trace-buffer empty of useful information because it got spooled out :/ Make kasan_report honour the /proc/sys/kernel/traceoff_on_warning interface. Link: http://lkml.kernel.org/r/20170125164106.3514-1-aryabinin@virtuozzo.com Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Acked-by: Alexander Potapenko <glider@google.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Diffstat (limited to 'mm')
-rw-r--r--mm/kasan/report.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/kasan/report.c b/mm/kasan/report.c
index 680ceedf810a..24456f2a037b 100644
--- a/mm/kasan/report.c
+++ b/mm/kasan/report.c
@@ -13,6 +13,7 @@
*
*/
+#include <linux/ftrace.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/printk.h>
@@ -223,6 +224,8 @@ void kasan_report(unsigned long addr, size_t size,
if (likely(!kasan_enabled()))
return;
+ disable_trace_on_warning();
+
info.access_addr = (void *)addr;
info.access_size = size;
info.is_write = is_write;