From: Baoquan He <bhe@redhat.com>
To: SeongJae Park <sj@kernel.org>
Cc: linux-mm@kvack.org, ryabinin.a.a@gmail.com, glider@google.com,
andreyknvl@gmail.com, dvyukov@google.com,
vincenzo.frascino@arm.com, akpm@linux-foundation.org,
kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org,
kexec@lists.infradead.org
Subject: Re: [PATCH 4/4] mm/kasan: make kasan=on|off take effect for all three modes
Date: Wed, 6 Aug 2025 17:36:03 +0800 [thread overview]
Message-ID: <aJMiA2hh3S9JCqOu@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20250806052231.619715-1-sj@kernel.org>
On 08/05/25 at 10:22pm, SeongJae Park wrote:
> Hello Baoqua,
>
> On Tue, 5 Aug 2025 14:23:33 +0800 Baoquan He <bhe@redhat.com> wrote:
>
> > Now everything is ready, set kasan=off can disable kasan for all
> > three modes.
> >
> > Signed-off-by: Baoquan He <bhe@redhat.com>
> > ---
> > include/linux/kasan-enabled.h | 11 +----------
> > 1 file changed, 1 insertion(+), 10 deletions(-)
> >
> > diff --git a/include/linux/kasan-enabled.h b/include/linux/kasan-enabled.h
> > index 32f2d19f599f..b5857e15ef14 100644
> > --- a/include/linux/kasan-enabled.h
> > +++ b/include/linux/kasan-enabled.h
> > @@ -8,30 +8,21 @@ extern bool kasan_arg_disabled;
> >
> > DECLARE_STATIC_KEY_FALSE(kasan_flag_enabled);
> >
> > -#ifdef CONFIG_KASAN_HW_TAGS
> > -
> > static __always_inline bool kasan_enabled(void)
> > {
> > return static_branch_likely(&kasan_flag_enabled);
> > }
>
> I found mm-new build fails when CONFIG_KASAN is unset as below, and 'git
> bisect' points this patch.
>
> LD .tmp_vmlinux1
> ld: lib/stackdepot.o:(__jump_table+0x8): undefined reference to `kasan_flag_enabled'
>
> Since kasna_flag_enabled is defined in mm/kasan/common.c, I confirmed diff like
> below fixes this. I think it may not be a correct fix though, since I didn't
> read this patchset thoroughly.
Thanks a lot for the reporting and fix. The below code is great to fix
the error. I reproduced it and tested with below fix, it works.
Since there's other reviewing comments, I will merge this into v2 post.
>
> diff --git a/include/linux/kasan-enabled.h b/include/linux/kasan-enabled.h
> index b5857e15ef14..a53d112b1020 100644
> --- a/include/linux/kasan-enabled.h
> +++ b/include/linux/kasan-enabled.h
> @@ -8,11 +8,22 @@ extern bool kasan_arg_disabled;
>
> DECLARE_STATIC_KEY_FALSE(kasan_flag_enabled);
>
> +#ifdef CONFIG_KASAN
> +
> static __always_inline bool kasan_enabled(void)
> {
> return static_branch_likely(&kasan_flag_enabled);
> }
>
> +#else /* CONFIG_KASAN */
> +
> +static inline bool kasan_enabled(void)
> +{
> + return false;
> +}
> +
> +#endif
> +
> #ifdef CONFIG_KASAN_HW_TAGS
> static inline bool kasan_hw_tags_enabled(void)
> {
>
>
> [...]
>
> Thanks,
> SJ
>
next prev parent reply other threads:[~2025-08-06 9:42 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-05 6:23 [PATCH 0/4] mm/kasan: make kasan=on|off work for all three modes Baoquan He
2025-08-05 6:23 ` [PATCH 1/4] mm/kasan: add conditional checks in functions to return directly if kasan is disabled Baoquan He
2025-08-05 6:23 ` [PATCH 2/4] mm/kasan: move kasan= code to common place Baoquan He
2025-08-06 7:11 ` Marco Elver
2025-08-08 13:01 ` Baoquan He
2025-08-05 6:23 ` [PATCH 3/4] mm/kasan: don't initialize kasan if it's disabled Baoquan He
2025-08-05 6:23 ` [PATCH 4/4] mm/kasan: make kasan=on|off take effect for all three modes Baoquan He
2025-08-06 5:22 ` SeongJae Park
2025-08-06 9:36 ` Baoquan He [this message]
2025-08-06 16:26 ` Lorenzo Stoakes
2025-08-08 13:08 ` Baoquan He
2025-08-08 13:24 ` Lorenzo Stoakes
2025-08-12 13:27 ` Baoquan He
2025-08-12 17:06 ` Lorenzo Stoakes
2025-08-06 8:28 ` kernel test robot
2025-08-06 18:24 ` Sabyrzhan Tasbolatov
2025-08-08 15:59 ` Baoquan He
2025-08-06 7:16 ` [PATCH 0/4] mm/kasan: make kasan=on|off work " Marco Elver
2025-08-07 17:12 ` Andrey Ryabinin
2025-08-08 3:21 ` Baoquan He
2025-08-07 16:34 ` Andrey Ryabinin
2025-08-08 12:54 ` Baoquan He
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=aJMiA2hh3S9JCqOu@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=andreyknvl@gmail.com \
--cc=dvyukov@google.com \
--cc=glider@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ryabinin.a.a@gmail.com \
--cc=sj@kernel.org \
--cc=vincenzo.frascino@arm.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.