From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D89EBC433EF for ; Wed, 2 Mar 2022 17:34:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 15F1B8D0002; Wed, 2 Mar 2022 12:34:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 10D7D8D0001; Wed, 2 Mar 2022 12:34:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EEF7A8D0002; Wed, 2 Mar 2022 12:34:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0246.hostedemail.com [216.40.44.246]) by kanga.kvack.org (Postfix) with ESMTP id DD25A8D0001 for ; Wed, 2 Mar 2022 12:34:52 -0500 (EST) Received: from smtpin21.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 9E79F181951CA for ; Wed, 2 Mar 2022 17:34:52 +0000 (UTC) X-FDA: 79200146424.21.FF98B51 Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) by imf05.hostedemail.com (Postfix) with ESMTP id 2C371100005 for ; Wed, 2 Mar 2022 17:34:51 +0000 (UTC) Received: by mail-qk1-f172.google.com with SMTP id z66so1862358qke.10 for ; Wed, 02 Mar 2022 09:34:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=XxTS9UIes1zHmwkf6XZt5n6dw7Gf4KhSZz97KwsDpNo=; b=Rx21fTDuow5aTMmxW9ja03UdFVMgRxLrZXCHUhgSN36usriLDpuxc6R//q/IpS2Gx/ 9aanPXRHWFKCSCSVgZ+H+cuQfa5FbhvKbFp0DjfOOMoZLF4AXVYZ+F0Z9LMfkB3Sdtav T0j88zkEjVK9I+K3QeO4C2zMbU5MHGfzQ+zoue9PkcZDTUj0vzkTzncVntYM2TlZXu11 chMu2sGjf7qfIhyAUiDa/irUT3UKidEyCrR1OAJXH2Bkt6Mr68M2ZSE+IDNmd+nPuaEQ VfEGYPb71Q529u4rY4U6NwBuU+XEe3SsolWzCMMtjahioZYPmQcqKSi5iKoMx+MrGwht hQBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=XxTS9UIes1zHmwkf6XZt5n6dw7Gf4KhSZz97KwsDpNo=; b=pk4c8Rnc0arlfa3mDgdQR2EZuLm/UKLtuQmGiQSDRgQ9JCafIJbXqTqNQgdURDzskN 2PHr88uus1JOM7FE0BgRgqoklXYoWPPksVAD5FbpWzKo8fMbWxfHJ6XQs/YEm5S0xc4l afKfjX7uNYKOL6xvkD8I+yXnVS4QxYaqjCrrLNucOo4REnnNbX9rbNluW46I6ihe1Myx p+ByOl+YogH2R18IlTQqw0d5cVcwLxXUhDI6fukVH+NkwfUxmYBypKZn2c/aH1WeUZM/ ePg/qhbuzOshJDby/z5aYt5q5LzMJIPhE12kC6e9zD5sFKL/uvePhKbpoXbN9ilgiaUc UFeA== X-Gm-Message-State: AOAM532JNfWD/MqbwhzNqfDpPO31X0ahxh+o/bOE45QS/LV8IZgw92Wq VFx5oFa3KXBe74cylOsWwtT0TrgCL6bAwwHLSF3Fbw== X-Google-Smtp-Source: ABdhPJwSSbQM2wtSE9adVNuwnQViTrukOcSEHzNnA6Yy4sbMOQun+EF4b7z/yusOppgqTBsmijkccEOGYgbiasaD++c= X-Received: by 2002:a37:a505:0:b0:60d:df5e:16c7 with SMTP id o5-20020a37a505000000b0060ddf5e16c7mr17138326qke.448.1646242491221; Wed, 02 Mar 2022 09:34:51 -0800 (PST) MIME-Version: 1.0 References: <029aaa87ceadde0702f3312a34697c9139c9fb53.1646237226.git.andreyknvl@google.com> In-Reply-To: <029aaa87ceadde0702f3312a34697c9139c9fb53.1646237226.git.andreyknvl@google.com> From: Alexander Potapenko Date: Wed, 2 Mar 2022 18:34:14 +0100 Message-ID: Subject: Re: [PATCH mm 05/22] kasan: print basic stack frame info for SW_TAGS To: andrey.konovalov@linux.dev Cc: Marco Elver , Andrey Konovalov , Dmitry Vyukov , Andrey Ryabinin , kasan-dev , Andrew Morton , Linux Memory Management List , LKML , Andrey Konovalov Content-Type: multipart/alternative; boundary="000000000000e7d7de05d93fb216" X-Rspamd-Queue-Id: 2C371100005 X-Stat-Signature: 6bgwiuixydugmartbt3a6jpja7n1bf8h Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=Rx21fTDu; spf=pass (imf05.hostedemail.com: domain of glider@google.com designates 209.85.222.172 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1646242491-97099 X-Bogosity: Ham, tests=bogofilter, spamicity=0.008888, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --000000000000e7d7de05d93fb216 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Mar 2, 2022 at 5:36 PM wrote: > From: Andrey Konovalov > > 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 > Reviewed-by: Alexander Potapenko > --- > 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/029aaa87ceadde0702f3312a34697= c9139c9fb53.1646237226.git.andreyknvl%40google.com > . > --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Liana Sebastian Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Diese E-Mail ist vertraulich. Falls Sie diese f=C3=A4lschlicherweise erhalt= en haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, l=C3=B6schen Sie alle Kopien und Anh=C3=A4nge davon und lassen Sie mich bit= te 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. --000000000000e7d7de05d93fb216 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Wed, Mar 2, 2022 at 5:36 PM <andrey.konovalov@linux.dev&= gt; 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>
Revi= ewed-by: Alexander Potapenko <glide= r@google.com>=C2=A0
---
=C2=A0mm/kasan/kasan.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 2 +-
=C2=A0mm/kasan/report_sw_tags.c | 11 +++++++++++
=C2=A02 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= );
=C2=A0const char *kasan_get_bug_type(struct kasan_access_info *info);
=C2=A0void kasan_metadata_fetch_row(char *buffer, void *row);

-#if defined(CONFIG_KASAN_GENERIC) && defined(CONFIG_KASAN_STACK) +#if defined(CONFIG_KASAN_STACK)
=C2=A0void kasan_print_address_stack_frame(const void *addr);
=C2=A0#else
=C2=A0static 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)

=C2=A0 =C2=A0 =C2=A0 =C2=A0 pr_err("Pointer tag: [%02x], memory tag: [= %02x]\n", addr_tag, *shadow);
=C2=A0}
+
+#ifdef CONFIG_KASAN_STACK
+void kasan_print_address_stack_frame(const void *addr)
+{
+=C2=A0 =C2=A0 =C2=A0 =C2=A0if (WARN_ON(!object_is_on_stack(addr)))
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return;
+
+=C2=A0 =C2=A0 =C2=A0 =C2=A0pr_err("The buggy address belongs to stack= of task %s/%d\n",
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 current->comm, task_pi= d_nr(current));
This comm/pid pattern starts to appear= often, maybe we could replace it with an inline function performing pr_con= t()?
=C2=A0
kasan-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://gro= ups.google.com/d/msgid/kasan-dev/029aaa87ceadde0702f3312a34697c9139c9fb53.1= 646237226.git.andreyknvl%40google.com.


--
Alexander Potapenko
Software= Engineer

Google Germany GmbH
Erika-Mann-Stra=C3=9Fe, 33
80636= M=C3=BCnchen

Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Liana Sebasti= an
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellsch= aft: Hamburg

Diese E-Mail ist vertraulich. Falls Sie diese f=C3=A4ls= chlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jeman= d anderes weiter, l=C3=B6schen Sie alle Kopien und Anh=C3=A4nge davon und l= assen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet= wurde.

=C2=A0 =C2=A0 =C2=A0

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 kn= ow that it has gone to the wrong person.
--000000000000e7d7de05d93fb216--