From: Alexander Potapenko <glider@google.com>
To: andrey.konovalov@linux.dev
Cc: Marco Elver <elver@google.com>,
Andrey Konovalov <andreyknvl@gmail.com>,
Dmitry Vyukov <dvyukov@google.com>,
Andrey Ryabinin <ryabinin.a.a@gmail.com>,
kasan-dev <kasan-dev@googlegroups.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Andrey Konovalov <andreyknvl@google.com>
Subject: Re: [PATCH mm 05/22] kasan: print basic stack frame info for SW_TAGS
Date: Wed, 2 Mar 2022 18:34:14 +0100 [thread overview]
Message-ID: <CAG_fn=WE80ueUTC3EYjGNGJc8FvAG8Ph-La9cxBXGRBX17d-6w@mail.gmail.com> (raw)
In-Reply-To: <029aaa87ceadde0702f3312a34697c9139c9fb53.1646237226.git.andreyknvl@google.com>
[-- Attachment #1: Type: text/plain, Size: 3147 bytes --]
On Wed, Mar 2, 2022 at 5:36 PM <andrey.konovalov@linux.dev> wrote:
> From: Andrey Konovalov <andreyknvl@google.com>
>
> Software Tag-Based mode tags stack allocations when CONFIG_KASAN_STACK
> is enabled. Print task name and id in reports for stack-related bugs.
>
> Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
>
Reviewed-by: Alexander Potapenko <glider@google.com>
> ---
> mm/kasan/kasan.h | 2 +-
> mm/kasan/report_sw_tags.c | 11 +++++++++++
> 2 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h
> index d1e111b7d5d8..4447df0d7343 100644
> --- a/mm/kasan/kasan.h
> +++ b/mm/kasan/kasan.h
> @@ -274,7 +274,7 @@ void *kasan_find_first_bad_addr(void *addr, size_t
> size);
> const char *kasan_get_bug_type(struct kasan_access_info *info);
> void kasan_metadata_fetch_row(char *buffer, void *row);
>
> -#if defined(CONFIG_KASAN_GENERIC) && defined(CONFIG_KASAN_STACK)
> +#if defined(CONFIG_KASAN_STACK)
> void kasan_print_address_stack_frame(const void *addr);
> #else
> static inline void kasan_print_address_stack_frame(const void *addr) { }
> diff --git a/mm/kasan/report_sw_tags.c b/mm/kasan/report_sw_tags.c
> index d2298c357834..44577b8d47a7 100644
> --- a/mm/kasan/report_sw_tags.c
> +++ b/mm/kasan/report_sw_tags.c
> @@ -51,3 +51,14 @@ void kasan_print_tags(u8 addr_tag, const void *addr)
>
> pr_err("Pointer tag: [%02x], memory tag: [%02x]\n", addr_tag,
> *shadow);
> }
> +
> +#ifdef CONFIG_KASAN_STACK
> +void kasan_print_address_stack_frame(const void *addr)
> +{
> + if (WARN_ON(!object_is_on_stack(addr)))
> + return;
> +
> + pr_err("The buggy address belongs to stack of task %s/%d\n",
> + current->comm, task_pid_nr(current));
>
This comm/pid pattern starts to appear often, maybe we could replace it
with an inline function performing pr_cont()?
> +}
> +#endif
> --
> 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/029aaa87ceadde0702f3312a34697c9139c9fb53.1646237226.git.andreyknvl%40google.com
> .
>
--
Alexander Potapenko
Software Engineer
Google Germany GmbH
Erika-Mann-Straße, 33
80636 München
Geschäftsführer: Paul Manicle, Liana Sebastian
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Diese E-Mail ist vertraulich. Falls Sie diese fälschlicherweise erhalten
haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter,
löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen,
dass die E-Mail an die falsche Person gesendet wurde.
This e-mail is confidential. If you received this communication by mistake,
please don't forward it to anyone else, please erase all copies and
attachments, and please let me know that it has gone to the wrong person.
[-- Attachment #2: Type: text/html, Size: 4470 bytes --]
next prev parent reply other threads:[~2022-03-02 17:34 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-02 16:36 [PATCH mm 00/22] kasan: report clean-ups and improvements andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 01/22] kasan: drop addr check from describe_object_addr andrey.konovalov
2022-03-02 17:27 ` Alexander Potapenko
2022-03-02 16:36 ` [PATCH mm 02/22] kasan: more line breaks in reports andrey.konovalov
2022-03-02 17:28 ` Alexander Potapenko
2022-03-02 16:36 ` [PATCH mm 03/22] kasan: rearrange stack frame info " andrey.konovalov
2022-03-02 17:29 ` Alexander Potapenko
2022-03-02 16:36 ` [PATCH mm 04/22] kasan: improve " andrey.konovalov
2022-03-02 17:31 ` Alexander Potapenko
2022-03-02 16:36 ` [PATCH mm 05/22] kasan: print basic stack frame info for SW_TAGS andrey.konovalov
2022-03-02 17:34 ` Alexander Potapenko [this message]
2022-03-08 14:09 ` Andrey Konovalov
2022-03-02 16:36 ` [PATCH mm 06/22] kasan: simplify async check in end_report andrey.konovalov
2022-03-02 17:37 ` Alexander Potapenko
2022-03-08 14:09 ` Andrey Konovalov
2022-03-02 16:36 ` [PATCH mm 07/22] kasan: simplify kasan_update_kunit_status and call sites andrey.konovalov
2022-03-02 17:46 ` Alexander Potapenko
2022-03-02 16:36 ` [PATCH mm 08/22] kasan: check CONFIG_KASAN_KUNIT_TEST instead of CONFIG_KUNIT andrey.konovalov
2022-03-02 17:57 ` Alexander Potapenko
2022-03-02 16:36 ` [PATCH mm 09/22] kasan: move update_kunit_status to start_report andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 10/22] kasan: move disable_trace_on_warning " andrey.konovalov
2022-03-02 18:00 ` Alexander Potapenko
2022-03-02 16:36 ` [PATCH mm 11/22] kasan: split out print_report from __kasan_report andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 12/22] kasan: simplify kasan_find_first_bad_addr call sites andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 13/22] kasan: restructure kasan_report andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 14/22] kasan: merge __kasan_report into kasan_report andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 15/22] kasan: call print_report from kasan_report_invalid_free andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 16/22] kasan: move and simplify kasan_report_async andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 17/22] kasan: rename kasan_access_info to kasan_report_info andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 18/22] kasan: add comment about UACCESS regions to kasan_report andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 19/22] kasan: respect KASAN_BIT_REPORTED in all reporting routines andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 20/22] kasan: reorder reporting functions andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 21/22] kasan: move and hide kasan_save_enable/restore_multi_shot andrey.konovalov
2022-03-02 16:36 ` [PATCH mm 22/22] kasan: disable LOCKDEP when printing reports 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='CAG_fn=WE80ueUTC3EYjGNGJc8FvAG8Ph-La9cxBXGRBX17d-6w@mail.gmail.com' \
--to=glider@google.com \
--cc=akpm@linux-foundation.org \
--cc=andrey.konovalov@linux.dev \
--cc=andreyknvl@gmail.com \
--cc=andreyknvl@google.com \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ryabinin.a.a@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox