Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1429026 > unrolled thread

[PATCH] mm: prevent KASAN false positives in kmemleak

Started byDmitry Vyukov <dvyukov@google.com>
First post2016-06-22 19:50 +0200
Last post2016-06-23 12:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] mm: prevent KASAN false positives in kmemleak Dmitry Vyukov <dvyukov@google.com> - 2016-06-22 19:50 +0200
    Re: [PATCH] mm: prevent KASAN false positives in kmemleak Catalin Marinas <catalin.marinas@arm.com> - 2016-06-23 12:10 +0200

#1429026 — [PATCH] mm: prevent KASAN false positives in kmemleak

FromDmitry Vyukov <dvyukov@google.com>
Date2016-06-22 19:50 +0200
Subject[PATCH] mm: prevent KASAN false positives in kmemleak
Message-ID<rMUrL-6vZ-3@gated-at.bofh.it>
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.

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
---
 mm/kmemleak.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index e642992..04320d3 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -307,8 +307,10 @@ static void hex_dump_object(struct seq_file *seq,
 	len = min_t(size_t, object->size, HEX_MAX_LINES * HEX_ROW_SIZE);
 
 	seq_printf(seq, "  hex dump (first %zu bytes):\n", len);
+	kasan_disable_current();
 	seq_hex_dump(seq, "    ", DUMP_PREFIX_NONE, HEX_ROW_SIZE,
 		     HEX_GROUP_SIZE, ptr, len, HEX_ASCII);
+	kasan_enable_current();
 }
 
 /*
-- 
2.8.0.rc3.226.g39d4020

[toc] | [next] | [standalone]


#1429652

FromCatalin Marinas <catalin.marinas@arm.com>
Date2016-06-23 12:10 +0200
Message-ID<rN9Ka-8oP-7@gated-at.bofh.it>
In reply to#1429026
On Wed, Jun 22, 2016 at 07:47:11PM +0200, Dmitry Vyukov wrote:
> 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.
> 
> Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
> ---
>  mm/kmemleak.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/kmemleak.c b/mm/kmemleak.c
> index e642992..04320d3 100644
> --- a/mm/kmemleak.c
> +++ b/mm/kmemleak.c
> @@ -307,8 +307,10 @@ static void hex_dump_object(struct seq_file *seq,
>  	len = min_t(size_t, object->size, HEX_MAX_LINES * HEX_ROW_SIZE);
>  
>  	seq_printf(seq, "  hex dump (first %zu bytes):\n", len);
> +	kasan_disable_current();
>  	seq_hex_dump(seq, "    ", DUMP_PREFIX_NONE, HEX_ROW_SIZE,
>  		     HEX_GROUP_SIZE, ptr, len, HEX_ASCII);
> +	kasan_enable_current();
>  }

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web