From: Dmitry Vyukov <dvyu...@google.com> commit 5c335fe020ea287b2b49cc4dfca9f6756b88bb71 upstream.
When kmemleak dumps contents of leaked objects it reads whole objects regardless of user-requested size. This upsets KASAN. Disable KASAN checks around object dump. Link: http://lkml.kernel.org/r/1466617631-68387-1-git-send-email-dvyu...@google.com Signed-off-by: Dmitry Vyukov <dvyu...@google.com> Acked-by: Catalin Marinas <catalin.mari...@arm.com> Cc: Andrey Ryabinin <ryabinin....@gmail.com> Cc: Alexander Potapenko <gli...@google.com> Signed-off-by: Andrew Morton <a...@linux-foundation.org> Signed-off-by: Linus Torvalds <torva...@linux-foundation.org> Found during investigating https://jira.sw.ru/browse/PSBM-66617 Signed-off-by: Andrey Ryabinin <aryabi...@virtuozzo.com> --- mm/kmemleak.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/kmemleak.c b/mm/kmemleak.c index ea54d1bd0eb8..db297cdd7e51 100644 --- a/mm/kmemleak.c +++ b/mm/kmemleak.c @@ -299,6 +299,8 @@ static void hex_dump_object(struct seq_file *seq, min(object->size, (size_t)(HEX_MAX_LINES * HEX_ROW_SIZE)); seq_printf(seq, " hex dump (first %d bytes):\n", len); + kasan_disable_current(); + for (i = 0; i < len; i += HEX_ROW_SIZE) { int linelen = min(remaining, HEX_ROW_SIZE); @@ -308,6 +310,7 @@ static void hex_dump_object(struct seq_file *seq, HEX_ASCII); seq_printf(seq, " %s\n", linebuf); } + kasan_enable_current(); } /* -- 2.13.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel