Re: [PATCH v2 2/2] kasan: use dump_stack_lvl(KERN_ERR) to print stacks

From: Marco Elver
Date: Thu May 06 2021 - 07:11:39 EST


On Thu, 6 May 2021 at 12:54, Alexander Potapenko <glider@xxxxxxxxxx> wrote:
>
> Most of the contents of KASAN reports are printed with pr_err(), so use
> a consistent logging level to print the memory access stacks.
>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx>
> Cc: Prasad Sodagudi <psodagud@xxxxxxxxxxx>
> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
> Cc: Marco Elver <elver@xxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx>

Reviewed-by: Marco Elver <elver@xxxxxxxxxx>


> ---
> mm/kasan/report.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/mm/kasan/report.c b/mm/kasan/report.c
> index 14bd51ea2348..8fff1825b22c 100644
> --- a/mm/kasan/report.c
> +++ b/mm/kasan/report.c
> @@ -230,7 +230,7 @@ static void print_address_description(void *addr, u8 tag)
> {
> struct page *page = kasan_addr_to_page(addr);
>
> - dump_stack();
> + dump_stack_lvl(KERN_ERR);
> pr_err("\n");
>
> if (page && PageSlab(page)) {
> @@ -375,7 +375,7 @@ void kasan_report_async(void)
> pr_err("BUG: KASAN: invalid-access\n");
> pr_err("Asynchronous mode enabled: no access details available\n");
> pr_err("\n");
> - dump_stack();
> + dump_stack_lvl(KERN_ERR);
> end_report(&flags, 0);
> }
> #endif /* CONFIG_KASAN_HW_TAGS */
> @@ -420,7 +420,7 @@ static void __kasan_report(unsigned long addr, size_t size, bool is_write,
> pr_err("\n");
> print_memory_metadata(info.first_bad_addr);
> } else {
> - dump_stack();
> + dump_stack_lvl(KERN_ERR);
> }
>
> end_report(&flags, addr);
> --
> 2.31.1.527.g47e6f16901-goog
>