diff mbox series

[mm,02/22] kasan: more line breaks in reports

Message ID 8682c4558e533cd0f99bdb964ce2fe741f2a9212.1646237226.git.andreyknvl@google.com (mailing list archive)
State New
Headers show
Series kasan: report clean-ups and improvements | expand

Commit Message

andrey.konovalov@linux.dev March 2, 2022, 4:36 p.m. UTC
From: Andrey Konovalov <andreyknvl@google.com>

Add a line break after each part that describes the buggy address.
Improves readability of reports.

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

Comments

Alexander Potapenko March 2, 2022, 5:28 p.m. UTC | #1
On Wed, Mar 2, 2022 at 5:36 PM <andrey.konovalov@linux.dev> wrote:

> From: Andrey Konovalov <andreyknvl@google.com>
>
> Add a line break after each part that describes the buggy address.
> Improves readability of reports.
>
> Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
>
Reviewed-by: Alexander Potapenko <glider@google.com>

> ---
>  mm/kasan/report.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/mm/kasan/report.c b/mm/kasan/report.c
> index 607a8c2e4674..ded648c0a0e4 100644
> --- a/mm/kasan/report.c
> +++ b/mm/kasan/report.c
> @@ -250,11 +250,13 @@ static void print_address_description(void *addr, u8
> tag)
>                 void *object = nearest_obj(cache, slab, addr);
>
>                 describe_object(cache, object, addr, tag);
> +               pr_err("\n");
>         }
>
>         if (kernel_or_module_addr(addr) && !init_task_stack_addr(addr)) {
>                 pr_err("The buggy address belongs to the variable:\n");
>                 pr_err(" %pS\n", addr);
> +               pr_err("\n");
>         }
>
>         if (is_vmalloc_addr(addr)) {
> @@ -265,6 +267,7 @@ static void print_address_description(void *addr, u8
> tag)
>                                " [%px, %px) created by:\n"
>                                " %pS\n",
>                                va->addr, va->addr + va->size, va->caller);
> +                       pr_err("\n");
>
>                         page = vmalloc_to_page(page);
>                 }
> @@ -273,9 +276,11 @@ static void print_address_description(void *addr, u8
> tag)
>         if (page) {
>                 pr_err("The buggy address belongs to the physical
> page:\n");
>                 dump_page(page, "kasan: bad access detected");
> +               pr_err("\n");
>         }
>
>         kasan_print_address_stack_frame(addr);
> +       pr_err("\n");
>  }
>
>  static bool meta_row_is_guilty(const void *row, const void *addr)
> @@ -382,7 +387,6 @@ void kasan_report_invalid_free(void *object, unsigned
> long ip)
>         kasan_print_tags(tag, object);
>         pr_err("\n");
>         print_address_description(object, tag);
> -       pr_err("\n");
>         print_memory_metadata(object);
>         end_report(&flags, (unsigned long)object);
>  }
> @@ -443,7 +447,6 @@ static void __kasan_report(unsigned long addr, size_t
> size, bool is_write,
>
>         if (addr_has_metadata(untagged_addr)) {
>                 print_address_description(untagged_addr,
> get_tag(tagged_addr));
> -               pr_err("\n");
>                 print_memory_metadata(info.first_bad_addr);
>         } else {
>                 dump_stack_lvl(KERN_ERR);
> --
> 2.25.1
>
> --
> You received this message because you are subscribed to the Google Groups
> "kasan-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to kasan-dev+unsubscribe@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/kasan-dev/8682c4558e533cd0f99bdb964ce2fe741f2a9212.1646237226.git.andreyknvl%40google.com
> .
>
diff mbox series

Patch

diff --git a/mm/kasan/report.c b/mm/kasan/report.c
index 607a8c2e4674..ded648c0a0e4 100644
--- a/mm/kasan/report.c
+++ b/mm/kasan/report.c
@@ -250,11 +250,13 @@  static void print_address_description(void *addr, u8 tag)
 		void *object = nearest_obj(cache, slab,	addr);
 
 		describe_object(cache, object, addr, tag);
+		pr_err("\n");
 	}
 
 	if (kernel_or_module_addr(addr) && !init_task_stack_addr(addr)) {
 		pr_err("The buggy address belongs to the variable:\n");
 		pr_err(" %pS\n", addr);
+		pr_err("\n");
 	}
 
 	if (is_vmalloc_addr(addr)) {
@@ -265,6 +267,7 @@  static void print_address_description(void *addr, u8 tag)
 			       " [%px, %px) created by:\n"
 			       " %pS\n",
 			       va->addr, va->addr + va->size, va->caller);
+			pr_err("\n");
 
 			page = vmalloc_to_page(page);
 		}
@@ -273,9 +276,11 @@  static void print_address_description(void *addr, u8 tag)
 	if (page) {
 		pr_err("The buggy address belongs to the physical page:\n");
 		dump_page(page, "kasan: bad access detected");
+		pr_err("\n");
 	}
 
 	kasan_print_address_stack_frame(addr);
+	pr_err("\n");
 }
 
 static bool meta_row_is_guilty(const void *row, const void *addr)
@@ -382,7 +387,6 @@  void kasan_report_invalid_free(void *object, unsigned long ip)
 	kasan_print_tags(tag, object);
 	pr_err("\n");
 	print_address_description(object, tag);
-	pr_err("\n");
 	print_memory_metadata(object);
 	end_report(&flags, (unsigned long)object);
 }
@@ -443,7 +447,6 @@  static void __kasan_report(unsigned long addr, size_t size, bool is_write,
 
 	if (addr_has_metadata(untagged_addr)) {
 		print_address_description(untagged_addr, get_tag(tagged_addr));
-		pr_err("\n");
 		print_memory_metadata(info.first_bad_addr);
 	} else {
 		dump_stack_lvl(KERN_ERR);