All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrey Konovalov <andreyknvl@google.com>
To: "David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Willem de Bruijn <willemb@google.com>,
	Craig Gallek <cgallek@google.com>
Cc: netdev@vger.kernel.org, Dmitry Vyukov <dvyukov@google.com>,
	Kostya Serebryany <kcc@google.com>,
	Andrey Konovalov <andreyknvl@google.com>
Subject: [PATCH v4 2/9] kasan: unify report headers
Date: Tue, 28 Mar 2017 16:00:43 +0200	[thread overview]
Message-ID: <1e8bb4d01cf38337d7bbbd0d09bc6da01c60da42.1490383597.git.andreyknvl__37773.0513261215$1490709729$gmane$org@google.com> (raw)
In-Reply-To: <cover.1490709552.git.andreyknvl@google.com>
In-Reply-To: <cover.1490383597.git.andreyknvl@google.com>

Unify KASAN report header format for different kinds of bad memory
accesses. Makes the code simpler.

Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
---
 mm/kasan/report.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/mm/kasan/report.c b/mm/kasan/report.c
index e3af37b7a74c..fc0577d15671 100644
--- a/mm/kasan/report.c
+++ b/mm/kasan/report.c
@@ -119,16 +119,22 @@ static const char *get_wild_bug_type(struct kasan_access_info *info)
 	return bug_type;
 }
 
+static const char *get_bug_type(struct kasan_access_info *info)
+{
+	if (addr_has_shadow(info))
+		return get_shadow_bug_type(info);
+	return get_wild_bug_type(info);
+}
+
 static void print_error_description(struct kasan_access_info *info)
 {
-	const char *bug_type = get_shadow_bug_type(info);
+	const char *bug_type = get_bug_type(info);
 
 	pr_err("BUG: KASAN: %s in %pS at addr %p\n",
-		bug_type, (void *)info->ip,
-		info->access_addr);
+		bug_type, (void *)info->ip, info->access_addr);
 	pr_err("%s of size %zu by task %s/%d\n",
-		info->is_write ? "Write" : "Read",
-		info->access_size, current->comm, task_pid_nr(current));
+		info->is_write ? "Write" : "Read", info->access_size,
+		current->comm, task_pid_nr(current));
 }
 
 static inline bool kernel_or_module_addr(const void *addr)
@@ -295,17 +301,11 @@ static void kasan_report_error(struct kasan_access_info *info)
 
 	kasan_start_report(&flags);
 
+	print_error_description(info);
+
 	if (!addr_has_shadow(info)) {
-		const char *bug_type = get_wild_bug_type(info);
-		pr_err("BUG: KASAN: %s on address %p\n",
-			bug_type, info->access_addr);
-		pr_err("%s of size %zu by task %s/%d\n",
-			info->is_write ? "Write" : "Read",
-			info->access_size, current->comm,
-			task_pid_nr(current));
 		dump_stack();
 	} else {
-		print_error_description(info);
 		print_address_description(info);
 		print_shadow_for_address(info->first_bad_addr);
 	}
-- 
2.12.1.578.ge9c3154ca4-goog

  parent reply	other threads:[~2017-03-28 14:01 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-28 14:00 [PATCH 0/5] net/packet: fix multiple overflow issues in ring buffers Andrey Konovalov
2017-03-24 19:32 ` [PATCH v4 0/9] kasan: improve error reports Andrey Konovalov
2017-03-24 19:32   ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 1/9] kasan: introduce helper functions for determining bug type Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-28 14:03     ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 2/9] kasan: unify report headers Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 3/9] kasan: change allocation and freeing stack traces headers Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 4/9] kasan: simplify address description logic Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 5/9] kasan: change report header Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 6/9] kasan: improve slab object description Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 7/9] kasan: print page description after stacks Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 8/9] kasan: improve double-free report format Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-24 19:32   ` [PATCH v4 9/9] kasan: separate report parts by empty lines Andrey Konovalov
2017-03-24 19:32     ` Andrey Konovalov
2017-03-28 14:00   ` [PATCH v4 1/9] kasan: introduce helper functions for determining bug type Andrey Konovalov
2017-03-28 14:00   ` Andrey Konovalov [this message]
2017-03-28 14:00   ` [PATCH v4 3/9] kasan: change allocation and freeing stack traces headers Andrey Konovalov
2017-03-28 14:00   ` [PATCH v4 4/9] kasan: simplify address description logic Andrey Konovalov
2017-03-28 14:00   ` [PATCH v4 5/9] kasan: change report header Andrey Konovalov
2017-03-28 14:00   ` [PATCH v4 6/9] kasan: improve slab object description Andrey Konovalov
2017-03-28 14:00   ` [PATCH v4 7/9] kasan: print page description after stacks Andrey Konovalov
2017-03-28 14:00   ` [PATCH v4 8/9] kasan: improve double-free report format Andrey Konovalov
2017-03-28 14:00   ` [PATCH v4 9/9] kasan: separate report parts by empty lines Andrey Konovalov
2017-03-29 13:33   ` [PATCH v4 0/9] kasan: improve error reports Andrey Ryabinin
2017-03-29 13:33     ` Andrey Ryabinin
2017-03-28 14:00 ` [PATCH 1/5] net/packet: fix overflow in check for priv area size Andrey Konovalov
2017-03-28 14:00 ` [PATCH 2/5] net/packet: add explicit checks for tp_frame_size Andrey Konovalov
2017-03-28 14:00 ` [PATCH 3/5] net/packet: fix overflow in check for tp_frame_nr Andrey Konovalov
2017-03-28 14:00 ` [PATCH 4/5] net/packet: fix overflow in check for tp_reserve Andrey Konovalov
2017-03-28 15:00   ` Willem de Bruijn
2017-03-28 15:11     ` Andrey Konovalov
2017-03-28 15:21       ` Willem de Bruijn
2017-03-28 14:00 ` [PATCH 5/5] net/packet: reorder checks for ring buffer parameters Andrey Konovalov
2017-03-28 15:06 ` [PATCH 0/5] net/packet: fix multiple overflow issues in ring buffers Willem de Bruijn
2017-03-28 15:15   ` Andrey Konovalov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='1e8bb4d01cf38337d7bbbd0d09bc6da01c60da42.1490383597.git.andreyknvl__37773.0513261215$1490709729$gmane$org@google.com' \
    --to=andreyknvl@google.com \
    --cc=cgallek@google.com \
    --cc=davem@davemloft.net \
    --cc=dvyukov@google.com \
    --cc=edumazet@google.com \
    --cc=kcc@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=willemb@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.