From: Baoquan He <bhe@redhat.com>
To: kasan-dev@googlegroups.com
Cc: linux-mm@kvack.org, andreyknvl@gmail.com, ryabinin.a.a@gmail.com,
glider@google.com, dvyukov@google.com,
linux-kernel@vger.kernel.org, linux-um@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
x86@kernel.org, chris@zankel.net, jcmvbkbc@gmail.com,
linux-s390@vger.kernel.org, hca@linux.ibm.com,
Baoquan He <bhe@redhat.com>
Subject: [PATCH v5 03/15] mm/kasan: mm/kasan: move kasan= code to common place
Date: Wed, 25 Feb 2026 16:14:00 +0800 [thread overview]
Message-ID: <20260225081412.76502-4-bhe@redhat.com> (raw)
In-Reply-To: <20260225081412.76502-1-bhe@redhat.com>
This allows generic and sw_tags to be set in kernel cmdline too.
Signed-off-by: Baoquan He <bhe@redhat.com>
---
include/linux/kasan-enabled.h | 2 ++
mm/kasan/common.c | 21 +++++++++++++++++++++
mm/kasan/hw_tags.c | 18 ------------------
3 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/include/linux/kasan-enabled.h b/include/linux/kasan-enabled.h
index 9eca967d8526..b7cb906825ca 100644
--- a/include/linux/kasan-enabled.h
+++ b/include/linux/kasan-enabled.h
@@ -35,6 +35,8 @@ static inline void kasan_enable(void) {}
#endif /* CONFIG_ARCH_DEFER_KASAN || CONFIG_KASAN_HW_TAGS */
#ifdef CONFIG_KASAN_HW_TAGS
+extern bool kasan_arg_disabled;
+
static inline bool kasan_hw_tags_enabled(void)
{
return kasan_enabled();
diff --git a/mm/kasan/common.c b/mm/kasan/common.c
index b7d05c2a6d93..0d788a468e96 100644
--- a/mm/kasan/common.c
+++ b/mm/kasan/common.c
@@ -42,6 +42,27 @@ DEFINE_STATIC_KEY_FALSE(kasan_flag_enabled);
EXPORT_SYMBOL_GPL(kasan_flag_enabled);
#endif
+#ifdef CONFIG_KASAN_HW_TAGS
+bool kasan_arg_disabled __ro_after_init;
+
+/* kasan=off/on */
+static int __init early_kasan_flag(char *arg)
+{
+ if (!arg)
+ return -EINVAL;
+
+ if (!strcmp(arg, "off"))
+ kasan_arg_disabled = true;
+ else if (!strcmp(arg, "on"))
+ kasan_arg_disabled = false;
+ else
+ return -EINVAL;
+
+ return 0;
+}
+early_param("kasan", early_kasan_flag);
+#endif
+
struct slab *kasan_addr_to_slab(const void *addr)
{
if (virt_addr_valid(addr))
diff --git a/mm/kasan/hw_tags.c b/mm/kasan/hw_tags.c
index 26a69f0d822c..9602ea4861e2 100644
--- a/mm/kasan/hw_tags.c
+++ b/mm/kasan/hw_tags.c
@@ -35,7 +35,6 @@ enum kasan_arg_vmalloc {
KASAN_ARG_VMALLOC_ON,
};
-bool kasan_arg_disabled __ro_after_init;
static enum kasan_arg_mode kasan_arg_mode __ro_after_init;
static enum kasan_arg_vmalloc kasan_arg_vmalloc __initdata;
@@ -75,23 +74,6 @@ unsigned int kasan_page_alloc_sample_order = PAGE_ALLOC_SAMPLE_ORDER_DEFAULT;
DEFINE_PER_CPU(long, kasan_page_alloc_skip);
-/* kasan=off/on */
-static int __init early_kasan_flag(char *arg)
-{
- if (!arg)
- return -EINVAL;
-
- if (!strcmp(arg, "off"))
- kasan_arg_disabled = true;
- else if (!strcmp(arg, "on"))
- kasan_arg_disabled = false;
- else
- return -EINVAL;
-
- return 0;
-}
-early_param("kasan", early_kasan_flag);
-
/* kasan.mode=sync/async/asymm */
static int __init early_kasan_mode(char *arg)
{
--
2.52.0
WARNING: multiple messages have this Message-ID (diff)
From: Baoquan He <bhe@redhat.com>
To: kasan-dev@googlegroups.com
Cc: linux-mm@kvack.org, andreyknvl@gmail.com, ryabinin.a.a@gmail.com,
glider@google.com, dvyukov@google.com,
linux-kernel@vger.kernel.org, linux-um@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
x86@kernel.org, chris@zankel.net, jcmvbkbc@gmail.com,
linux-s390@vger.kernel.org, hca@linux.ibm.com,
Baoquan He <bhe@redhat.com>
Subject: [PATCH v5 03/15] mm/kasan: mm/kasan: move kasan= code to common place
Date: Wed, 25 Feb 2026 16:14:00 +0800 [thread overview]
Message-ID: <20260225081412.76502-4-bhe@redhat.com> (raw)
In-Reply-To: <20260225081412.76502-1-bhe@redhat.com>
This allows generic and sw_tags to be set in kernel cmdline too.
Signed-off-by: Baoquan He <bhe@redhat.com>
---
include/linux/kasan-enabled.h | 2 ++
mm/kasan/common.c | 21 +++++++++++++++++++++
mm/kasan/hw_tags.c | 18 ------------------
3 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/include/linux/kasan-enabled.h b/include/linux/kasan-enabled.h
index 9eca967d8526..b7cb906825ca 100644
--- a/include/linux/kasan-enabled.h
+++ b/include/linux/kasan-enabled.h
@@ -35,6 +35,8 @@ static inline void kasan_enable(void) {}
#endif /* CONFIG_ARCH_DEFER_KASAN || CONFIG_KASAN_HW_TAGS */
#ifdef CONFIG_KASAN_HW_TAGS
+extern bool kasan_arg_disabled;
+
static inline bool kasan_hw_tags_enabled(void)
{
return kasan_enabled();
diff --git a/mm/kasan/common.c b/mm/kasan/common.c
index b7d05c2a6d93..0d788a468e96 100644
--- a/mm/kasan/common.c
+++ b/mm/kasan/common.c
@@ -42,6 +42,27 @@ DEFINE_STATIC_KEY_FALSE(kasan_flag_enabled);
EXPORT_SYMBOL_GPL(kasan_flag_enabled);
#endif
+#ifdef CONFIG_KASAN_HW_TAGS
+bool kasan_arg_disabled __ro_after_init;
+
+/* kasan=off/on */
+static int __init early_kasan_flag(char *arg)
+{
+ if (!arg)
+ return -EINVAL;
+
+ if (!strcmp(arg, "off"))
+ kasan_arg_disabled = true;
+ else if (!strcmp(arg, "on"))
+ kasan_arg_disabled = false;
+ else
+ return -EINVAL;
+
+ return 0;
+}
+early_param("kasan", early_kasan_flag);
+#endif
+
struct slab *kasan_addr_to_slab(const void *addr)
{
if (virt_addr_valid(addr))
diff --git a/mm/kasan/hw_tags.c b/mm/kasan/hw_tags.c
index 26a69f0d822c..9602ea4861e2 100644
--- a/mm/kasan/hw_tags.c
+++ b/mm/kasan/hw_tags.c
@@ -35,7 +35,6 @@ enum kasan_arg_vmalloc {
KASAN_ARG_VMALLOC_ON,
};
-bool kasan_arg_disabled __ro_after_init;
static enum kasan_arg_mode kasan_arg_mode __ro_after_init;
static enum kasan_arg_vmalloc kasan_arg_vmalloc __initdata;
@@ -75,23 +74,6 @@ unsigned int kasan_page_alloc_sample_order = PAGE_ALLOC_SAMPLE_ORDER_DEFAULT;
DEFINE_PER_CPU(long, kasan_page_alloc_skip);
-/* kasan=off/on */
-static int __init early_kasan_flag(char *arg)
-{
- if (!arg)
- return -EINVAL;
-
- if (!strcmp(arg, "off"))
- kasan_arg_disabled = true;
- else if (!strcmp(arg, "on"))
- kasan_arg_disabled = false;
- else
- return -EINVAL;
-
- return 0;
-}
-early_param("kasan", early_kasan_flag);
-
/* kasan.mode=sync/async/asymm */
static int __init early_kasan_mode(char *arg)
{
--
2.52.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-02-25 8:15 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-25 8:13 [PATCH v5 00/15] mm/kasan: make kasan=on|off work for all three modes Baoquan He
2026-02-25 8:13 ` Baoquan He
2026-02-25 8:13 ` [PATCH v5 01/15] mm/kasan: add conditional checks in functions to return directly if kasan is disabled Baoquan He
2026-02-25 8:13 ` Baoquan He
2026-02-25 8:13 ` [PATCH v5 02/15] mm/kasan: rename 'kasan_arg' to 'kasan_arg_disabled' Baoquan He
2026-02-25 8:13 ` Baoquan He
2026-02-25 8:14 ` Baoquan He [this message]
2026-02-25 8:14 ` [PATCH v5 03/15] mm/kasan: mm/kasan: move kasan= code to common place Baoquan He
2026-02-25 8:14 ` [PATCH v5 04/15] mm/kasan: make kasan=on|off take effect for all three modes Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 05/15] mm/kasan/sw_tags: don't initialize kasan if it's disabled Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 06/15] arch/arm: " Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 07/15] arch/arm64: " Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 08/15] arch/loongarch: " Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 09/15] arch/powerpc: " Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-03-12 11:12 ` Sourabh Jain
2026-03-12 11:12 ` Sourabh Jain
2026-03-12 11:23 ` Christophe Leroy (CS GROUP)
2026-03-12 11:23 ` Christophe Leroy (CS GROUP)
2026-03-17 2:10 ` Baoquan He
2026-03-17 2:10 ` Baoquan He
2026-03-17 2:39 ` Sourabh Jain
2026-03-17 2:39 ` Sourabh Jain
2026-02-25 8:14 ` [PATCH v5 10/15] arch/riscv: " Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 11/15] arch/x86: " Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 12/15] arch/xtensa: " Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 13/15] arch/um: " Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-02-25 8:14 ` [PATCH v5 14/15] mm/kasan: add document into kernel-parameters.txt Baoquan He
2026-02-25 8:14 ` Baoquan He
2026-03-12 12:53 ` Samuel Holland
2026-03-12 12:53 ` Samuel Holland
2026-03-17 3:36 ` Baoquan He
2026-03-17 3:36 ` Baoquan He
2026-03-17 3:49 ` Samuel Holland
2026-03-17 3:49 ` Samuel Holland
2026-02-25 8:14 ` [PATCH v5 15/15] mm/kasan: clean up unneeded ARCH_DEFER_KASAN and kasan_arch_is_ready Baoquan He
2026-02-25 8:14 ` 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=20260225081412.76502-4-bhe@redhat.com \
--to=bhe@redhat.com \
--cc=andreyknvl@gmail.com \
--cc=chris@zankel.net \
--cc=dvyukov@google.com \
--cc=glider@google.com \
--cc=hca@linux.ibm.com \
--cc=jcmvbkbc@gmail.com \
--cc=kasan-dev@googlegroups.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=ryabinin.a.a@gmail.com \
--cc=x86@kernel.org \
/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.