From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 496343101C2 for ; Wed, 25 Feb 2026 08:14:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007298; cv=none; b=IWswnfFNeqnfFRn7iSKWjvCxhTOZLIW8vQ/2MQZ5U8C90V19sFmVjqmVX4zeEQMvotAY5X29r5Mr8EXepIlUX9bnNP6uqtFzZmozwWoahTocwgWksM0lmc7w98Wzy8L5L0UnCmok5A761z4FsFcviGYHtHxUtq7sbAKhyfYBvGQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007298; c=relaxed/simple; bh=yztFNMhd8KvUgOdz/VuC/1g+wn2Ztod1KBPjvPJZbe8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=A9TeKMtn9PLn/F3ORBvHe94jh5acq3s/96IsqI8szHxVSXwv0aCFTW266ZjnDUdAoMr62ZOidda+uXARYRTevjH2cU63mOm6jWH5f9B60BDqUQbdzqD55bQcExcZeeY8eRoBRxMHwOfsymk/clen2ktP9OU3A5Gw/Pa9GNNs1QU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=YfaD0xoz; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="YfaD0xoz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1+o8INxubcV2x/Jl5UdObmj+gfJwsgp0C09vqymuwDM=; b=YfaD0xozfdQUlUgrC4uUT6noXJAq0SZ6rOFQjfM0QaL68C7gt388Hjjodxr2tm68pe82YC RmCkZK1oUI98e/fTXd/LA+LiabhMSdGdcdLgq3yG5l8pTa7Vsp1cTn8LkiS4rBwufjqeyV z1FhxYhA602EaqiYvliwPtHDQOnIP1A= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-556-nQ4DDfqXPK2cnN4hGIJDvA-1; Wed, 25 Feb 2026 03:14:51 -0500 X-MC-Unique: nQ4DDfqXPK2cnN4hGIJDvA-1 X-Mimecast-MFC-AGG-ID: nQ4DDfqXPK2cnN4hGIJDvA_1772007289 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A0E82195609D; Wed, 25 Feb 2026 08:14:48 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DE8351800351; Wed, 25 Feb 2026 08:14:38 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 01/15] mm/kasan: add conditional checks in functions to return directly if kasan is disabled Date: Wed, 25 Feb 2026 16:13:58 +0800 Message-ID: <20260225081412.76502-2-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" The current codes only check if kasan is disabled for hw_tags mode. Here add the conditional checks for functional functions of generic mode and sw_tags mode. And also add a helper __kasan_cache_shrink() in mm/kasan/generic.c so that the conditional check is done in include/linux/kasan.h. This is prepared for later adding kernel parameter kasan=3Don|off for all three kasan modes. Signed-off-by: Baoquan He --- include/linux/kasan.h | 7 ++++++- mm/kasan/generic.c | 16 ++++++++++++++-- mm/kasan/init.c | 6 ++++++ mm/kasan/quarantine.c | 3 +++ mm/kasan/report.c | 4 +++- mm/kasan/shadow.c | 11 ++++++++++- mm/kasan/sw_tags.c | 3 +++ 7 files changed, 45 insertions(+), 5 deletions(-) diff --git a/include/linux/kasan.h b/include/linux/kasan.h index 338a1921a50a..a9b8d58d8699 100644 --- a/include/linux/kasan.h +++ b/include/linux/kasan.h @@ -492,7 +492,12 @@ size_t kasan_metadata_size(struct kmem_cache *cache, b= ool in_object); void kasan_cache_create(struct kmem_cache *cache, unsigned int *size, slab_flags_t *flags); =20 -void kasan_cache_shrink(struct kmem_cache *cache); +void __kasan_cache_shrink(struct kmem_cache *cache); +static inline void kasan_cache_shrink(struct kmem_cache *cache) +{ + if (kasan_enabled()) + __kasan_cache_shrink(cache); +} void kasan_cache_shutdown(struct kmem_cache *cache); void kasan_record_aux_stack(void *ptr); =20 diff --git a/mm/kasan/generic.c b/mm/kasan/generic.c index 2b8e73f5f6a7..25850e7c2e00 100644 --- a/mm/kasan/generic.c +++ b/mm/kasan/generic.c @@ -212,14 +212,14 @@ bool kasan_byte_accessible(const void *addr) return shadow_byte >=3D 0 && shadow_byte < KASAN_GRANULE_SIZE; } =20 -void kasan_cache_shrink(struct kmem_cache *cache) +void __kasan_cache_shrink(struct kmem_cache *cache) { kasan_quarantine_remove_cache(cache); } =20 void kasan_cache_shutdown(struct kmem_cache *cache) { - if (!__kmem_cache_empty(cache)) + if (kasan_enabled() && !__kmem_cache_empty(cache)) kasan_quarantine_remove_cache(cache); } =20 @@ -239,6 +239,9 @@ void __asan_register_globals(void *ptr, ssize_t size) int i; struct kasan_global *globals =3D ptr; =20 + if (!kasan_enabled()) + return; + for (i =3D 0; i < size; i++) register_global(&globals[i]); } @@ -369,6 +372,9 @@ void kasan_cache_create(struct kmem_cache *cache, unsig= ned int *size, unsigned int rem_free_meta_size; unsigned int orig_alloc_meta_offset; =20 + if (!kasan_enabled()) + return; + if (!kasan_requires_meta()) return; =20 @@ -518,6 +524,9 @@ size_t kasan_metadata_size(struct kmem_cache *cache, bo= ol in_object) { struct kasan_cache *info =3D &cache->kasan_info; =20 + if (!kasan_enabled()) + return 0; + if (!kasan_requires_meta()) return 0; =20 @@ -543,6 +552,9 @@ void kasan_record_aux_stack(void *addr) struct kasan_alloc_meta *alloc_meta; void *object; =20 + if (!kasan_enabled()) + return; + if (is_kfence_address(addr) || !slab) return; =20 diff --git a/mm/kasan/init.c b/mm/kasan/init.c index f084e7a5df1e..c78d77ed47bc 100644 --- a/mm/kasan/init.c +++ b/mm/kasan/init.c @@ -447,6 +447,9 @@ void kasan_remove_zero_shadow(void *start, unsigned lon= g size) unsigned long addr, end, next; pgd_t *pgd; =20 + if (!kasan_enabled()) + return; + addr =3D (unsigned long)kasan_mem_to_shadow(start); end =3D addr + (size >> KASAN_SHADOW_SCALE_SHIFT); =20 @@ -482,6 +485,9 @@ int kasan_add_zero_shadow(void *start, unsigned long si= ze) int ret; void *shadow_start, *shadow_end; =20 + if (!kasan_enabled()) + return 0; + shadow_start =3D kasan_mem_to_shadow(start); shadow_end =3D shadow_start + (size >> KASAN_SHADOW_SCALE_SHIFT); =20 diff --git a/mm/kasan/quarantine.c b/mm/kasan/quarantine.c index 6958aa713c67..a6dc2c3d8a15 100644 --- a/mm/kasan/quarantine.c +++ b/mm/kasan/quarantine.c @@ -405,6 +405,9 @@ static int __init kasan_cpu_quarantine_init(void) { int ret =3D 0; =20 + if (!kasan_enabled()) + return 0; + ret =3D cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "mm/kasan:online", kasan_cpu_online, kasan_cpu_offline); if (ret < 0) diff --git a/mm/kasan/report.c b/mm/kasan/report.c index 27efb78eb32d..1a39b3f62c57 100644 --- a/mm/kasan/report.c +++ b/mm/kasan/report.c @@ -576,7 +576,9 @@ bool kasan_report(const void *addr, size_t size, bool i= s_write, unsigned long irq_flags; struct kasan_report_info info; =20 - if (unlikely(report_suppressed_sw()) || unlikely(!report_enabled())) { + if (unlikely(report_suppressed_sw()) || + unlikely(!report_enabled()) || + !kasan_enabled()) { ret =3D false; goto out; } diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c index d286e0a04543..87f517b76d6e 100644 --- a/mm/kasan/shadow.c +++ b/mm/kasan/shadow.c @@ -164,6 +164,8 @@ void kasan_unpoison(const void *addr, size_t size, bool= init) { u8 tag =3D get_tag(addr); =20 + if (!kasan_enabled()) + return; /* * Perform shadow offset calculation based on untagged address, as * some of the callers (e.g. kasan_unpoison_new_object) pass tagged @@ -277,7 +279,8 @@ static int __meminit kasan_mem_notifier(struct notifier= _block *nb, =20 static int __init kasan_memhotplug_init(void) { - hotplug_memory_notifier(kasan_mem_notifier, DEFAULT_CALLBACK_PRI); + if (kasan_enabled()) + hotplug_memory_notifier(kasan_mem_notifier, DEFAULT_CALLBACK_PRI); =20 return 0; } @@ -660,6 +663,9 @@ int kasan_alloc_module_shadow(void *addr, size_t size, = gfp_t gfp_mask) size_t shadow_size; unsigned long shadow_start; =20 + if (!kasan_enabled()) + return 0; + shadow_start =3D (unsigned long)kasan_mem_to_shadow(addr); scaled_size =3D (size + KASAN_GRANULE_SIZE - 1) >> KASAN_SHADOW_SCALE_SHIFT; @@ -696,6 +702,9 @@ int kasan_alloc_module_shadow(void *addr, size_t size, = gfp_t gfp_mask) =20 void kasan_free_module_shadow(const struct vm_struct *vm) { + if (!kasan_enabled()) + return; + if (IS_ENABLED(CONFIG_UML)) return; =20 diff --git a/mm/kasan/sw_tags.c b/mm/kasan/sw_tags.c index c75741a74602..6c1caec4261a 100644 --- a/mm/kasan/sw_tags.c +++ b/mm/kasan/sw_tags.c @@ -79,6 +79,9 @@ bool kasan_check_range(const void *addr, size_t size, boo= l write, u8 *shadow_first, *shadow_last, *shadow; void *untagged_addr; =20 + if (!kasan_enabled()) + return true; + if (unlikely(size =3D=3D 0)) return true; =20 --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D14FE27F195 for ; Wed, 25 Feb 2026 08:15:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007307; cv=none; b=VEDGQEI2MEByzV74bVld4XiZeb0ZcIQufMXBHuY6cddamnOd5mOaZ3b2Aj7r11FrJFFMNjnikTnavUi/J/sJAG1Dup4Pq6Sld/MvUbV9CIepaVZT/Wyowq+wN3cV4xLgeEdENC7RUI1HFxNoenaRmOVvw12SvaVBcS+q9CDlWpk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007307; c=relaxed/simple; bh=3kGwy73oeGDx7dkWLCsnWcF8iqf/A7SBM4HvUGnPcCM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=pTx4QrbzZYgAWZGcnGvlqeeJeOWxbrcJPkGMlREjIM3LNEfTUeD42DVhxcbm6TJnOY15SVywZiOgmznhBY//fyuheNlkQuHW4OKH6En14Y/+3upR7UHILZN/O22NoVsh006mvbfTMnONEdlNwl2bhHzWxM8gngCylLOALFZGijU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=gChPkYou; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="gChPkYou" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m4icHQGTRNbNNPTctslHsQ21pBhC6HpCZWDHuC81RQQ=; b=gChPkYouGfDHV+XebMlbXtMgisfdUvrkIp01dNimnEsH7g5EbY6Ocgy2YCfu7TwLVi7B9j S/CY10ZjM4huI3AS+E8OPepAO2av32o/+yPwo5xrC+sjhkG8ysyPqasX/k2IWPeT7ak5WI Ok4NOmScxWWv4e2ObCudOn/7k+1Hrh8= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-647-dIDhZlzRPtCltfWDvHZypQ-1; Wed, 25 Feb 2026 03:15:00 -0500 X-MC-Unique: dIDhZlzRPtCltfWDvHZypQ-1 X-Mimecast-MFC-AGG-ID: dIDhZlzRPtCltfWDvHZypQ_1772007298 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A1EFF180025C; Wed, 25 Feb 2026 08:14:57 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 6EC9E1800465; Wed, 25 Feb 2026 08:14:49 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 02/15] mm/kasan: rename 'kasan_arg' to 'kasan_arg_disabled' Date: Wed, 25 Feb 2026 16:13:59 +0800 Message-ID: <20260225081412.76502-3-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" And change it to be a bool variable. This is prepared for later usage. Signed-off-by: Baoquan He --- mm/kasan/hw_tags.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/mm/kasan/hw_tags.c b/mm/kasan/hw_tags.c index cbef5e450954..26a69f0d822c 100644 --- a/mm/kasan/hw_tags.c +++ b/mm/kasan/hw_tags.c @@ -22,12 +22,6 @@ =20 #include "kasan.h" =20 -enum kasan_arg { - KASAN_ARG_DEFAULT, - KASAN_ARG_OFF, - KASAN_ARG_ON, -}; - enum kasan_arg_mode { KASAN_ARG_MODE_DEFAULT, KASAN_ARG_MODE_SYNC, @@ -41,7 +35,7 @@ enum kasan_arg_vmalloc { KASAN_ARG_VMALLOC_ON, }; =20 -static enum kasan_arg kasan_arg __ro_after_init; +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; =20 @@ -88,9 +82,9 @@ static int __init early_kasan_flag(char *arg) return -EINVAL; =20 if (!strcmp(arg, "off")) - kasan_arg =3D KASAN_ARG_OFF; + kasan_arg_disabled =3D true; else if (!strcmp(arg, "on")) - kasan_arg =3D KASAN_ARG_ON; + kasan_arg_disabled =3D false; else return -EINVAL; =20 @@ -222,7 +216,7 @@ void kasan_init_hw_tags_cpu(void) * When this function is called, kasan_flag_enabled is not yet * set by kasan_init_hw_tags(). Thus, check kasan_arg instead. */ - if (kasan_arg =3D=3D KASAN_ARG_OFF) + if (kasan_arg_disabled) return; =20 /* @@ -240,7 +234,7 @@ void __init kasan_init_hw_tags(void) return; =20 /* If KASAN is disabled via command line, don't initialize it. */ - if (kasan_arg =3D=3D KASAN_ARG_OFF) + if (kasan_arg_disabled) return; =20 switch (kasan_arg_mode) { --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 73A9B30F532 for ; Wed, 25 Feb 2026 08:15:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007323; cv=none; b=iPu/8Uw0KPULP+b15OSLodaTGENy/5DNiGyBKxEOXz/C3E8wlslE1PotLqRJoadrMuHE8dY/vfy6ELJJuDq1ZM4PKKETbwlgHOhLX5Uc7PpRrz6QSq39CnKp6hy7yXDCOp/ZhVaZjDes6JrXzgbmFYKI2uWWZF+LdCGytKuxF/g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007323; c=relaxed/simple; bh=6y9yGb1KomQEBH/3B4vy/U8GsLaTCLQkmSCA7l0nNBI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=Zqx6t0lKEyN6QQ1ryHMGL7ADRFbPrzQWGqr9BEHmdUy09eWcud/zgztfqPJTV7GUKcImvRGYSiD0bVNubRFjmgU07f3SDGfoy69uW7DMVqix5j5ZBVybf+U8vYzvuzjrZUKfcB+HeEwEWjuOPMbq8e/4LDzhHhHcQ2Nf05tlTHs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=L8lH5NRm; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="L8lH5NRm" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=krRB48lflglDsnK+MbRSOk31duSyM0PDe9SlLiivSrU=; b=L8lH5NRm1MJEeFnOge0c5hiH6crUmPFwlYZsZuD3ASdI1aJV4cXA2z7YzgRfdmuOVY98J3 0OnP88tAQj9WMeOeHy2BhHg7gxlvvETuJl6K21P897vaYS/pK1Qc5gTfbov6Q53HutNV/x 9eOGRAhzDb3ejKNEkUXPAUPpwityekY= Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-297-WO8-mb7BPemrfREQOcvRnw-1; Wed, 25 Feb 2026 03:15:11 -0500 X-MC-Unique: WO8-mb7BPemrfREQOcvRnw-1 X-Mimecast-MFC-AGG-ID: WO8-mb7BPemrfREQOcvRnw_1772007308 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 14EC918004AD; Wed, 25 Feb 2026 08:15:08 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 860561800465; Wed, 25 Feb 2026 08:14:58 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 03/15] mm/kasan: mm/kasan: move kasan= code to common place Date: Wed, 25 Feb 2026 16:14:00 +0800 Message-ID: <20260225081412.76502-4-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" This allows generic and sw_tags to be set in kernel cmdline too. Signed-off-by: Baoquan He --- 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 */ =20 #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 =20 +#ifdef CONFIG_KASAN_HW_TAGS +bool kasan_arg_disabled __ro_after_init; + +/* kasan=3Doff/on */ +static int __init early_kasan_flag(char *arg) +{ + if (!arg) + return -EINVAL; + + if (!strcmp(arg, "off")) + kasan_arg_disabled =3D true; + else if (!strcmp(arg, "on")) + kasan_arg_disabled =3D 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, }; =20 -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; =20 @@ -75,23 +74,6 @@ unsigned int kasan_page_alloc_sample_order =3D PAGE_ALLO= C_SAMPLE_ORDER_DEFAULT; =20 DEFINE_PER_CPU(long, kasan_page_alloc_skip); =20 -/* kasan=3Doff/on */ -static int __init early_kasan_flag(char *arg) -{ - if (!arg) - return -EINVAL; - - if (!strcmp(arg, "off")) - kasan_arg_disabled =3D true; - else if (!strcmp(arg, "on")) - kasan_arg_disabled =3D false; - else - return -EINVAL; - - return 0; -} -early_param("kasan", early_kasan_flag); - /* kasan.mode=3Dsync/async/asymm */ static int __init early_kasan_mode(char *arg) { --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 421353101D0 for ; Wed, 25 Feb 2026 08:15:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007332; cv=none; b=uWZRbLpU5Vcw3Z/cefaI4GVN5YFKKpHniLH7TigNkxGO4BzTIIEFgH6FehVt0HzKBs8xfFxb6LvJtyQUu9/Trl78kv366xzs1cggbnhwN36dDPcMqGFKYVKNecoRJOsrp8xOipRvKv+6meKaHjc63M+haCFDzfAa68cYdZQJH2s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007332; c=relaxed/simple; bh=LanImvKLX9Jg/kKmnRDnHcw1cAnp8QGv+qKVqiPRSHM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=eEud4nBmS0vyQin4dRCfKvpXPbKr7rlwDkZOz+sE40JXbSOe+0tVYSJ8PBqsynOyQHq5lkV+hTeQIFKb424WBS6CWFyc7Xfdei3hTWbbXK8qJr0lZPFNKwigx1y35U/5DEPGl6dlZnf3NB0IeE0aXanpY+5+Xo/Q5trFslul1mc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=dvr8nlRM; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="dvr8nlRM" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yJ/15auNTcs4bEnKE4TKOadihs1pA/T7OdgqiTtaDyY=; b=dvr8nlRMNGMQ/0IiTExCFwwlS4EIBQTQ4JlMMPpybuAGXpVJmkhvQmWqtCjmCTFtV+gMtD cNcZGUcOJlpNCbVrGDXL3J3pXLVVZ8Ri6MHwa8PwGRpASUYJtSWyonidVdQOxHZmLLDo+7 WhX1AjnIXcOyDt7jnjo9UKM/HvtBHNs= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-110-MO7Loi8qMuGy7jOa06YqRg-1; Wed, 25 Feb 2026 03:15:25 -0500 X-MC-Unique: MO7Loi8qMuGy7jOa06YqRg-1 X-Mimecast-MFC-AGG-ID: MO7Loi8qMuGy7jOa06YqRg_1772007319 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 320AA1800349; Wed, 25 Feb 2026 08:15:19 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id BFB231800465; Wed, 25 Feb 2026 08:15:08 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 04/15] mm/kasan: make kasan=on|off take effect for all three modes Date: Wed, 25 Feb 2026 16:14:01 +0800 Message-ID: <20260225081412.76502-5-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Now everything is ready, setting kasan=3Doff can disable kasan for all three modes. Signed-off-by: Baoquan He --- include/linux/kasan-enabled.h | 12 +++++------- mm/kasan/common.c | 4 ---- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/include/linux/kasan-enabled.h b/include/linux/kasan-enabled.h index b7cb906825ca..cec21a08446e 100644 --- a/include/linux/kasan-enabled.h +++ b/include/linux/kasan-enabled.h @@ -4,10 +4,11 @@ =20 #include =20 -#if defined(CONFIG_ARCH_DEFER_KASAN) || defined(CONFIG_KASAN_HW_TAGS) +#ifdef CONFIG_KASAN +extern bool kasan_arg_disabled; + /* * Global runtime flag for KASAN modes that need runtime control. - * Used by ARCH_DEFER_KASAN architectures and HW_TAGS mode. */ DECLARE_STATIC_KEY_FALSE(kasan_flag_enabled); =20 @@ -25,18 +26,15 @@ static inline void kasan_enable(void) static_branch_enable(&kasan_flag_enabled); } #else -/* For architectures that can enable KASAN early, use compile-time check. = */ static __always_inline bool kasan_enabled(void) { - return IS_ENABLED(CONFIG_KASAN); + return false; } =20 static inline void kasan_enable(void) {} -#endif /* CONFIG_ARCH_DEFER_KASAN || CONFIG_KASAN_HW_TAGS */ +#endif =20 #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 0d788a468e96..fc6513fa5795 100644 --- a/mm/kasan/common.c +++ b/mm/kasan/common.c @@ -33,16 +33,13 @@ #include "kasan.h" #include "../slab.h" =20 -#if defined(CONFIG_ARCH_DEFER_KASAN) || defined(CONFIG_KASAN_HW_TAGS) /* * Definition of the unified static key declared in kasan-enabled.h. * This provides consistent runtime enable/disable across KASAN modes. */ DEFINE_STATIC_KEY_FALSE(kasan_flag_enabled); EXPORT_SYMBOL_GPL(kasan_flag_enabled); -#endif =20 -#ifdef CONFIG_KASAN_HW_TAGS bool kasan_arg_disabled __ro_after_init; =20 /* kasan=3Doff/on */ @@ -61,7 +58,6 @@ static int __init early_kasan_flag(char *arg) return 0; } early_param("kasan", early_kasan_flag); -#endif =20 struct slab *kasan_addr_to_slab(const void *addr) { --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D247311946 for ; Wed, 25 Feb 2026 08:15:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007339; cv=none; b=I/cI/S9ADKbC+qi3FSsgdoJdNsm14woX9dEMCAfQJHmFp0FWusYeRN/k8CvleBsIbXajlIC0lVxEtZRB41xZD9yGtxgsCLuslBsbsIEGAGXmemOC8+4Pw98Vp4mZKBsxP2g+lqLV9lL1u8FpFyzF2hN5lf/vo4OtHbBr6EuAmRU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007339; c=relaxed/simple; bh=cgQzSM5LqzZK4i+fA2K/dU878k0hNbHBoTpbrWkwvCo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=a/ltW8DqcnRoLSW2olegcObzGyrIqRIWf0tmsV43UFRtby+Y0MJ2H78a6/c8KipqL9G1Ok/EePJzfML6OG2FVCcm8HeFO7e36uceyoB+jz0CgOBcJh93PSk1Ijx6JehdsuWKyNNuXZDlUYK40s9lFBJCh7dpXGBqCGYY0PyNNhA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=gHnRQHFp; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="gHnRQHFp" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iXwY0Q2SJZmWL1WR2SYctHtbhbAGYnU1QS3gfwuZnJo=; b=gHnRQHFpgF54yaIFQdPcPgtW1KqxP8pvUji61vDNv1Pxj5bpyk11hhWumrmWQAxVv8VhDc xpMaL9vBOKUb2o4PJN23VsQfZDaBWFUIABg4KdUsPYwMl2AhjPXQxbbGkHXB05CXvHp0Hs 4ZullyM8CA1nnlQ3P7Xl2j5vGlN6d0k= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-338-W_q9ig0KNGOLXjAkoHCtsg-1; Wed, 25 Feb 2026 03:15:31 -0500 X-MC-Unique: W_q9ig0KNGOLXjAkoHCtsg-1 X-Mimecast-MFC-AGG-ID: W_q9ig0KNGOLXjAkoHCtsg_1772007329 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 989F01956068; Wed, 25 Feb 2026 08:15:28 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 03B561800351; Wed, 25 Feb 2026 08:15:19 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 05/15] mm/kasan/sw_tags: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:02 +0800 Message-ID: <20260225081412.76502-6-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. Signed-off-by: Baoquan He --- mm/kasan/sw_tags.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mm/kasan/sw_tags.c b/mm/kasan/sw_tags.c index 6c1caec4261a..7757b69b1c86 100644 --- a/mm/kasan/sw_tags.c +++ b/mm/kasan/sw_tags.c @@ -40,6 +40,10 @@ void __init kasan_init_sw_tags(void) { int cpu; =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; + for_each_possible_cpu(cpu) per_cpu(prng_state, cpu) =3D (u32)get_cycles(); =20 --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CE64A3101D0 for ; Wed, 25 Feb 2026 08:15:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007348; cv=none; b=MoYgBszhi2XHInMAABmn76bBcUh+rtMWytPwSV9QvWMGdr2XgCN14SVp0WikC1pVDO9dDRqdtLUcHUWhQWSAcKnmCy19kQmFIuhL0db1IGVl/7jVTS7tIqQpIrIGUL1oQuAC0o0JTxsdJnoiiAT9LpFbsS0ZU+64NCmB/Kh0pi0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007348; c=relaxed/simple; bh=v/LFI9p5qTGfe93md9EH3J7clj2J/XK4Ls1meB4wWyA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=Be93k9O44cEDTp9CJQyXBipazBXQn5dxBzYoUwsxE7oOHJ2eTG9RYlxyAkgR9qjMZP9K6U0WsavEgDCL86bvUOl9uPXg8jijnUJtxZom2YFvSA2u0EyXErLDe7kLK0oBNRQoET7bcjQaFvj1dfGIRDcIUIO/+0g4HkRZlYsdubg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=dPjEFtbM; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="dPjEFtbM" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I228xoUl4+ZrgdKCBvI2rCmcNIzmRojWxOXL2gQGmtk=; b=dPjEFtbMFH80QRmjwJ4OG7ypPzz9ahq87xlEAp0FS3/kAVE2N7skc5ztNE+iRtVj8pSzzJ 1pXIs+2TiCZJBPwzzrY4zIq41kSQzkjGRvc9g/kmw3zjJmgGAcCkHwEM/1lOr7Q1LMFR4T MXhufBZN5VUesauFHo81XE9ghlfwcN0= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-675-rwD-1e3zOqOiSldVPhFTdg-1; Wed, 25 Feb 2026 03:15:40 -0500 X-MC-Unique: rwD-1e3zOqOiSldVPhFTdg-1 X-Mimecast-MFC-AGG-ID: rwD-1e3zOqOiSldVPhFTdg_1772007338 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 01DB51956070; Wed, 25 Feb 2026 08:15:38 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 68EB31800286; Wed, 25 Feb 2026 08:15:29 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 06/15] arch/arm: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:03 +0800 Message-ID: <20260225081412.76502-7-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. And also call jump_label_init() early in setup_arch() so that later kasan_init() can enable static key kasan_flag_enabled. Put jump_label_init() beofre parse_early_param() as other architectures do. Signed-off-by: Baoquan He Cc: linux-arm-kernel@lists.infradead.org --- arch/arm/kernel/setup.c | 6 ++++++ arch/arm/mm/kasan_init.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 0bfd66c7ada0..453a47a4c715 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -1135,6 +1135,12 @@ void __init setup_arch(char **cmdline_p) early_fixmap_init(); early_ioremap_init(); =20 + /* + * Initialise the static keys early as they may be enabled by the + * kasan_init() or early parameters. + */ + jump_label_init(); + parse_early_param(); =20 #ifdef CONFIG_MMU diff --git a/arch/arm/mm/kasan_init.c b/arch/arm/mm/kasan_init.c index c6625e808bf8..82ec043c891f 100644 --- a/arch/arm/mm/kasan_init.c +++ b/arch/arm/mm/kasan_init.c @@ -212,6 +212,9 @@ void __init kasan_init(void) phys_addr_t pa_start, pa_end; u64 i; =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; /* * We are going to perform proper setup of shadow memory. * --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 98CF8311597 for ; Wed, 25 Feb 2026 08:15:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007357; cv=none; b=B1Ef39njprdSEPywTxvfk2bJGYQvDhUgJwaZM6tHRKu0aAZ2u/0ex+Juf1W2y2gF6WUgCzfuViY82f1Gk8Fy0qb9iwIE35gX61T3apDKKZqDc7KFbIB7b4ANCbO1r1yogUPCAR5tDDo/T+HP5/PB2VIefEc2BGUAeJ+3O7R6Aog= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007357; c=relaxed/simple; bh=37aHv6lE63s6b5fkAwqLZFnx5hCChq8VCQjAcavT0uk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=X2s6reswDvxkaz391ONsZlRB6Q4IqSyZ+QcQFAjLYwyTdWxNs49DE8mhsUG4XEf7Mb/eSdALgddtj3VjFgCEbUEHugMYQ3ro01jk53anEAR13wKpYEimRqMBotCUuLWnhLxFdvqAu7C1Yb9LzLjf/WV4CRa6QM8lVawDb2lDI3s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=V05vutQR; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="V05vutQR" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007354; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qbXEkZK+UBZ3F7j2MH1sXu6emUlCr8xCSA0nHJ3EKL0=; b=V05vutQRqBf9h7tY4tzubeoZFRBlno0ELN3CUrsLkAINB3FbYIYR/Z3IQ3Ent1pVKAsYiT 4Y6gh+rrjqRGKL9p0Gm2bjdWZl2bA2aEPRAES0rzay52YvHPNRrvmwIAd2q4bhgGsroE2v M78GaeMlbG4j4ZtQAHvgyPpWWxa0Mjs= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-304-4chxBKYfMym28iynbNI3jg-1; Wed, 25 Feb 2026 03:15:50 -0500 X-MC-Unique: 4chxBKYfMym28iynbNI3jg-1 X-Mimecast-MFC-AGG-ID: 4chxBKYfMym28iynbNI3jg_1772007348 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0CB5F195609F; Wed, 25 Feb 2026 08:15:48 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id C1E3A1800286; Wed, 25 Feb 2026 08:15:38 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 07/15] arch/arm64: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:04 +0800 Message-ID: <20260225081412.76502-8-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. And also need skip kasan_populate_early_vm_area_shadow() if kasan is disabled. Signed-off-by: Baoquan He Cc: linux-arm-kernel@lists.infradead.org --- arch/arm64/mm/kasan_init.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm64/mm/kasan_init.c b/arch/arm64/mm/kasan_init.c index abeb81bf6ebd..4a58e609c81b 100644 --- a/arch/arm64/mm/kasan_init.c +++ b/arch/arm64/mm/kasan_init.c @@ -384,6 +384,9 @@ void __init kasan_populate_early_vm_area_shadow(void *s= tart, unsigned long size) { unsigned long shadow_start, shadow_end; =20 + if (!kasan_enabled()) + return; + if (!is_vmalloc_or_module_addr(start)) return; =20 @@ -397,6 +400,10 @@ void __init kasan_populate_early_vm_area_shadow(void *= start, unsigned long size) =20 void __init kasan_init(void) { + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; + kasan_init_shadow(); kasan_init_depth(); kasan_init_generic(); --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 79B0629D288 for ; Wed, 25 Feb 2026 08:16:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007365; cv=none; b=qUDaTTh0Kd4f/xf/swIADjTyFduXYoWt87Or1Ocad/bvuae54YB36++LZOriD+7ZqYh4W9ckAj2+Mz2V4oLWYJIeP4EM6j5oRoFNNQz+cfnqMP5rnlSlMLTCWtaMcgSGni9eDVP3Tl5O+2AZ2sQqD9bOTDDlEglneRD0VTuZLTM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007365; c=relaxed/simple; bh=jrTbGDe/8wYd06o9FN/Dt7fvUCi3/MbdH8vTtfIRRl8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=F6HqtuG9KeF4lKNtFDMrgsbaNqqmeKeNEpqRNEL5atnVfJjW095F0Acd2nuny/wXARLEigRRGCgjT6UR5Kr/fjp9CgPjx6qcMr/7FSF54Im0McPezRG8Y8dyb7p4A6DPy2zJs7d25sXhZ+J7qDqd2CzU6TDQsmGWlKWrm16ciow= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=dIpzvmie; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="dIpzvmie" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=19vaP3y5lR+93yTFpmYDfoD2vHNlJZSHy6oOHn35u4M=; b=dIpzvmieJxc7094uslYP7CxM71LZFsrus90bn1awdzgaSoGXBQtmf3h+mvaeOaWbJRt3vD lIQm/T8pItcrbnaU4bJQ7KXMONLLb74fhYdD5/EUB0wYl19rXoHgAyhYmROwVlTiQTwCKg HGd926FMBNPVEjz2SpW4uQ0Deddnd/I= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-659-fNbyuKNINK6CJvlLPKrBfw-1; Wed, 25 Feb 2026 03:16:00 -0500 X-MC-Unique: fNbyuKNINK6CJvlLPKrBfw-1 X-Mimecast-MFC-AGG-ID: fNbyuKNINK6CJvlLPKrBfw_1772007358 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 83A1E18004BB; Wed, 25 Feb 2026 08:15:58 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D0B361800465; Wed, 25 Feb 2026 08:15:48 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 08/15] arch/loongarch: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:05 +0800 Message-ID: <20260225081412.76502-9-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. Signed-off-by: Baoquan He Cc: loongarch@lists.linux.dev --- arch/loongarch/mm/kasan_init.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/loongarch/mm/kasan_init.c b/arch/loongarch/mm/kasan_init.c index 0fc02ca06457..047a059544e1 100644 --- a/arch/loongarch/mm/kasan_init.c +++ b/arch/loongarch/mm/kasan_init.c @@ -269,6 +269,9 @@ void __init kasan_init(void) u64 i; phys_addr_t pa_start, pa_end; =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; /* * If PGDIR_SIZE is too large for cpu_vabits, KASAN_SHADOW_END will * overflow UINTPTR_MAX and then looks like a user space address. --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4C5363115BC for ; Wed, 25 Feb 2026 08:16:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007378; cv=none; b=bodk5MvBMLDO0867zPI0blzPdydpJuBtn2V+jdDQuxzZaS1MwQbCKMbdMTIie8S7NapdvMIy8bz+Ve6SyarGNH+Rjr7GrY7N09ZTlOaJeMkxEc0abvtfQCaDtgy59I3p1NZt+T+Wbq9br3IIMrIEYrjkS9CRbGXthM2DI+EjeXU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007378; c=relaxed/simple; bh=hmRsU+h9C7bdkyWjJGwtbPdzr2AqxYKCI+/j2w33tns=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=nHo/7moAGjh/YLkwr6ADAVB3qZUxM63ZTOv+JAXMMXZW4DC036f/C3EuteQos+RFPP/NPwUsyQAGZJrt9k1A+t5LQqVBBU5yaF086hJpag1rIrkEDwml3bCgzhLuiIm4iuaNH4PUPHfEBQFTdGhm/LJC/RGFWhxWmbvX7ZEc5Ow= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=c79YTB5d; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="c79YTB5d" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007376; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3+N2FdzBXq7d0qBg17oIVx0hpSGWg6PAf2XJ4iYnD3A=; b=c79YTB5dADik5Q5ZG4JqorEhC9/JEfKOcUe3+boTm9VzMjkrfWaA+8XWYVRPxq8WmLHy2W JNM8tid1psfVpbrtHZVqN1wsUL4TjDcSJsNfXAtR/0IAyStg2BnoxPZvu55T5d/KMVECFA vmT8La4yRm3XlOKjmkfibLfFVq+eS+A= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-36-5bDMHpyIN7qY2J9aFw6T_w-1; Wed, 25 Feb 2026 03:16:11 -0500 X-MC-Unique: 5bDMHpyIN7qY2J9aFw6T_w-1 X-Mimecast-MFC-AGG-ID: 5bDMHpyIN7qY2J9aFw6T_w_1772007369 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4C83718003F6; Wed, 25 Feb 2026 08:16:09 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 50E031800465; Wed, 25 Feb 2026 08:15:58 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 09/15] arch/powerpc: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:06 +0800 Message-ID: <20260225081412.76502-10-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. This includes 32bit, book3s/64 and book3e/64. Signed-off-by: Baoquan He Cc: linuxppc-dev@lists.ozlabs.org Tested-by: Sourabh Jain --- arch/powerpc/mm/kasan/init_32.c | 6 +++++- arch/powerpc/mm/kasan/init_book3e_64.c | 4 ++++ arch/powerpc/mm/kasan/init_book3s_64.c | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/mm/kasan/init_32.c b/arch/powerpc/mm/kasan/init_3= 2.c index 1d083597464f..0ea2a636c992 100644 --- a/arch/powerpc/mm/kasan/init_32.c +++ b/arch/powerpc/mm/kasan/init_32.c @@ -141,6 +141,10 @@ void __init kasan_init(void) u64 i; int ret; =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; + for_each_mem_range(i, &base, &end) { phys_addr_t top =3D min(end, total_lowmem); =20 @@ -170,7 +174,7 @@ void __init kasan_init(void) =20 void __init kasan_late_init(void) { - if (IS_ENABLED(CONFIG_KASAN_VMALLOC)) + if (IS_ENABLED(CONFIG_KASAN_VMALLOC) && kasan_enabled()) kasan_unmap_early_shadow_vmalloc(); } =20 diff --git a/arch/powerpc/mm/kasan/init_book3e_64.c b/arch/powerpc/mm/kasan= /init_book3e_64.c index 0d3a73d6d4b0..fbe4c9a7e460 100644 --- a/arch/powerpc/mm/kasan/init_book3e_64.c +++ b/arch/powerpc/mm/kasan/init_book3e_64.c @@ -111,6 +111,10 @@ void __init kasan_init(void) u64 i; pte_t zero_pte =3D pfn_pte(virt_to_pfn(kasan_early_shadow_page), PAGE_KER= NEL_RO); =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; + for_each_mem_range(i, &start, &end) kasan_init_phys_region(phys_to_virt(start), phys_to_virt(end)); =20 diff --git a/arch/powerpc/mm/kasan/init_book3s_64.c b/arch/powerpc/mm/kasan= /init_book3s_64.c index dcafa641804c..f7906f9ef9be 100644 --- a/arch/powerpc/mm/kasan/init_book3s_64.c +++ b/arch/powerpc/mm/kasan/init_book3s_64.c @@ -54,6 +54,10 @@ void __init kasan_init(void) u64 i; pte_t zero_pte =3D pfn_pte(virt_to_pfn(kasan_early_shadow_page), PAGE_KER= NEL); =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; + if (!early_radix_enabled()) { pr_warn("KASAN not enabled as it requires radix!"); return; --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9EC031195A for ; Wed, 25 Feb 2026 08:16:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007390; cv=none; b=Lb4PQtXWTOZI6djDm+iOIKDdSGc86tC797QYFG79TPdRTK8euIP6TBFSXLFpAjlCZPToRMyrcRurvr5cEdYXqtCbMEY29VMxXEXXUeN0o5yJk9dAQY5eI5pSODUryUEzpbhvkdKD1Fzaip7lp8/5MdWm5xIMCYcz0ulCQGviZgk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007390; c=relaxed/simple; bh=qCqcGEgo8avXAvEU1P43kkLCEeJsu1bwMh+W+e/a0GA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=D83zIDPaXZIh/MxQUihjZ8shzb1OW40GWaPUTEzhZ5EX4934WTsRpqkSXwp2DFPp/ize+MOvcj+wunDVTFmfhdyG5/HVQC8CUESkyhcnb3wMIaNWOdQgtC/Iu3QRf52k1HK+bKuVAKf96aHSrEndFLAHcjkYuinmmgD3pPz0cMs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=UQblmx7o; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="UQblmx7o" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007386; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dmXeuzqCGEXbsFr6BMS6DZRu4kl8OFDlvdktSaTFzJk=; b=UQblmx7oRS9e3+OhisC6B8dvjTVGB4VnN0sS0MTDDUfrKxMNbSJWnEidxqyqaL5yBfeLhU HxX17kF/ASY/CKEzL4hr1Emg9U0+OrhrQxMwkHNAV8Khuv2JxkKqtNHXs4qsGdNh0fuFJd pDZMrgdgCDDXJYVJ5Bg7arb08pSCgvA= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-74-YXdFjCA1Mnetuo5LYiwicw-1; Wed, 25 Feb 2026 03:16:22 -0500 X-MC-Unique: YXdFjCA1Mnetuo5LYiwicw-1 X-Mimecast-MFC-AGG-ID: YXdFjCA1Mnetuo5LYiwicw_1772007380 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7F2CF1800282; Wed, 25 Feb 2026 08:16:20 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 37D111800465; Wed, 25 Feb 2026 08:16:09 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 10/15] arch/riscv: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:07 +0800 Message-ID: <20260225081412.76502-11-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. Signed-off-by: Baoquan He Cc: linux-riscv@lists.infradead.org --- arch/riscv/mm/kasan_init.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/riscv/mm/kasan_init.c b/arch/riscv/mm/kasan_init.c index c4a2a9e5586e..dc7cc0dcc7eb 100644 --- a/arch/riscv/mm/kasan_init.c +++ b/arch/riscv/mm/kasan_init.c @@ -485,6 +485,10 @@ void __init kasan_init(void) phys_addr_t p_start, p_end; u64 i; =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; + create_tmp_mapping(); csr_write(CSR_SATP, PFN_DOWN(__pa(tmp_pg_dir)) | satp_mode); =20 --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C8133101D0 for ; Wed, 25 Feb 2026 08:16:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007399; cv=none; b=C2j5zEW8tilWU0dzM352E70RDeXLr8N8M2zZ9gSWTl8HHANfWqS0V8gwcob8AQIlbe7UrD7yRbkSNSi9P7xmhaavy/I5ZUxZWhZffSoVgHKlzPjWetjpqWvn11rh9PPzgQdlB4SV/kHnsXS+rAhu2R513X+CFtZfcKz9TOs8THY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007399; c=relaxed/simple; bh=1lHMx/FF8IWFVtuF05q0r8NKEvr4j3zCT5/dcpLpt+8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=IuiLV8OA6gRTtNPGCS9kpFbmO80mdyc0RUaMknzTHYSl2a7VB5Q9ROqXpK1HlpJwfszEm/42H1H/rWnRn30L90bXU4tF6GukprQwV9yG8JlDx9GQGVpWUfXxIzr1VmxqXDQPKFfH7JUXIP5TLdFF1mHnD150xV+YTT8pAE/nsO8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=XD+T8j3A; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="XD+T8j3A" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ufH5nmkXpWJzJI9ksuEPClUSVztzr8yoo3w4HNv6hNs=; b=XD+T8j3AnBCPFGU03kFD6MXuqtyT0mRkWX2vc++s5oYmHjmmEQyE0cI8PVDAmPl5xY+xVO PZRMzI+dksSF9bBhdIKanf6DLrN++Y3NLdsr2AE88cFkKUgTMu5DBZwu0Fx/8s9DYKZaqO 6mhvsNsSeiZYi9RBm4/947Z3FjZWqpc= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-648-Jj4asdUeMuyAfccAe_OsEQ-1; Wed, 25 Feb 2026 03:16:33 -0500 X-MC-Unique: Jj4asdUeMuyAfccAe_OsEQ-1 X-Mimecast-MFC-AGG-ID: Jj4asdUeMuyAfccAe_OsEQ_1772007391 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B293618005BC; Wed, 25 Feb 2026 08:16:31 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 5C45A1800465; Wed, 25 Feb 2026 08:16:20 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 11/15] arch/x86: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:08 +0800 Message-ID: <20260225081412.76502-12-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. Signed-off-by: Baoquan He Cc: x86@kernel.org --- arch/x86/mm/kasan_init_64.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c index 998b6010d6d3..5ebf2850c77d 100644 --- a/arch/x86/mm/kasan_init_64.c +++ b/arch/x86/mm/kasan_init_64.c @@ -343,6 +343,10 @@ void __init kasan_init(void) unsigned long shadow_cea_begin, shadow_cea_per_cpu_begin, shadow_cea_end; int i; =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; + memcpy(early_top_pgt, init_top_pgt, sizeof(early_top_pgt)); =20 /* --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC57429D288 for ; Wed, 25 Feb 2026 08:16:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007411; cv=none; b=KNfrNSe+aScRw1xTyQmAGfNvoHpjgGrUrtmBJvIp//L702hF0wEkmon+obGMXjiW014NlTMvoym1lqmy8BUVogSnYamBlRb8K4H12gVZEPA3J6UwJQ+15I83vbzp84QiaDt0o+n+A0OjCVfOJs6uKVb2CRnq4vTsqVkBXPfLUTA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007411; c=relaxed/simple; bh=Q78Z41NRG95yPLpwoeP7egcT7NTlrm/dZYPW8uLJz98=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=szVsnjWgms2FvVD4MmOt1E65+lJnDJAhz3Wt3eMvEE+poJd0qeovznfCbFXFnf4ZapWcXEQwxInmTkvY73+lVrm/7Bp7lqRmslWXmvEdGdETrbWml8yvLx9xpAoeOiVREuUKeW/p2Us8P2+VolpLOdoAMWtr+fICRjIdScFA/ow= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=CstRHfmz; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="CstRHfmz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007409; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4hnbGAm/9+0AQuOsI/z6/MObWdWASDtilCdbwr5t2xI=; b=CstRHfmzJW0SAxDBPeC8ZrG0UQEVnejWHsT7+J6zBnovr3XL6d49DauJKhaz0IgqFNeuDJ DU9rwxvTwFZH6qTLcBApGqxhQlUbYi5dT8J1vLN5Nq3/ZuIj7q1SzYvHvSt3Fy4j65menh a22Uzgw9wwAS5YqRE6kpiUKCeFNa+vo= Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-354-kB3PHjUANFi-zOP_mIJF6w-1; Wed, 25 Feb 2026 03:16:43 -0500 X-MC-Unique: kB3PHjUANFi-zOP_mIJF6w-1 X-Mimecast-MFC-AGG-ID: kB3PHjUANFi-zOP_mIJF6w_1772007401 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A6D5A19560A7; Wed, 25 Feb 2026 08:16:41 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 8570F1800465; Wed, 25 Feb 2026 08:16:32 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 12/15] arch/xtensa: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:09 +0800 Message-ID: <20260225081412.76502-13-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. And also call jump_label_init() early in setup_arch() so that later kasan_init() can enable static key kasan_flag_enabled. Put jump_label_init() beofre parse_early_param() as other architectures do. Signed-off-by: Baoquan He Cc: Chris Zankel Cc: Max Filippov --- arch/xtensa/kernel/setup.c | 1 + arch/xtensa/mm/kasan_init.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c index f72e280363be..aabeb23f41fa 100644 --- a/arch/xtensa/kernel/setup.c +++ b/arch/xtensa/kernel/setup.c @@ -352,6 +352,7 @@ void __init setup_arch(char **cmdline_p) mem_reserve(__pa(_SecondaryResetVector_text_start), __pa(_SecondaryResetVector_text_end)); #endif + jump_label_init(); parse_early_param(); bootmem_init(); kasan_init(); diff --git a/arch/xtensa/mm/kasan_init.c b/arch/xtensa/mm/kasan_init.c index 0524b9ed5e63..eb367b801218 100644 --- a/arch/xtensa/mm/kasan_init.c +++ b/arch/xtensa/mm/kasan_init.c @@ -70,6 +70,10 @@ void __init kasan_init(void) { int i; =20 + /* If KASAN is disabled via command line, don't initialize it. */ + if (kasan_arg_disabled) + return; + BUILD_BUG_ON(KASAN_SHADOW_OFFSET !=3D KASAN_SHADOW_START - (KASAN_START_VADDR >> KASAN_SHADOW_SCALE_SHIFT)); BUILD_BUG_ON(VMALLOC_START < KASAN_START_VADDR); --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 599E2311587 for ; Wed, 25 Feb 2026 08:17:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007422; cv=none; b=Z/VpuT8iLCn+oej2jwfi53r0HKegF7aEgxHkQA3KWzLHUP6pLsRXK1LPtu9XQUb/6upR2tdDpypSWxBoEcxQDJD0Nwc3kcAZgJ9LZHJ0gtegIksRXDVRJyGIlXdkcK5YvHREQJ6WD53CS/tall9txsPmpbuOfU0+nEZXj1bj7Qc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007422; c=relaxed/simple; bh=RXwzQDiHu9geqg1I5FltyauABAk9iKEnO7089iEkMGg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=Y+4j+8w7G16Xw726uQ3sMkHp9wsoLGrsuEeIARWLd7K3+VXSmNOlZzPlIOHOOwIPmd86OCTeHDoyXdQU1pOKjbA05JjWnlvZotfPsoXhFsfIHG5B3pz7xiVbY6LVNbOFNT53pCv9uwXgBoBi7s6WSe/ux0TDI/q265Up7BzL5EQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Ig+rRKcR; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Ig+rRKcR" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pa4Mok84BgrIJ096oguK0x0r8biU2FN9KdJaqHRRdYY=; b=Ig+rRKcRmjrvPvilOR5uDqcc/ayENsEkUZ12BM+gDuHeqMnIPk/DD5x1mqek68Lf65QEaL drHrYS9XGnyLNAYkKs8+moAdlaMYAQKHtaH5Q5dqAzALZVEAW/kyr4DomF1syY/O7nBnUL JkxcZKn2w5RjxgYT8ZWIC/PHHlHz4vc= Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-199-nAFljNsZOpiYJ57hUOCZnA-1; Wed, 25 Feb 2026 03:16:54 -0500 X-MC-Unique: nAFljNsZOpiYJ57hUOCZnA-1 X-Mimecast-MFC-AGG-ID: nAFljNsZOpiYJ57hUOCZnA_1772007412 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 32EB918003FC; Wed, 25 Feb 2026 08:16:52 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id A81041800351; Wed, 25 Feb 2026 08:16:42 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 13/15] arch/um: don't initialize kasan if it's disabled Date: Wed, 25 Feb 2026 16:14:10 +0800 Message-ID: <20260225081412.76502-14-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Here, kasan is disabled if specified 'kasan=3Doff' in kernel cmdline. And also wrap up the kasan code into CONFIG_KASAN ifdeffery scope. Signed-off-by: Baoquan He Cc: linux-um@lists.infradead.org --- arch/um/kernel/mem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c index 89c8c8b94a79..2bf858ab35b5 100644 --- a/arch/um/kernel/mem.c +++ b/arch/um/kernel/mem.c @@ -62,8 +62,11 @@ static unsigned long brk_end; =20 void __init arch_mm_preinit(void) { +#ifdef CONFIG_KASAN /* Safe to call after jump_label_init(). Enables KASAN. */ - kasan_init_generic(); + if (!kasan_arg_disabled) + kasan_init_generic(); +#endif =20 /* clear the zero-page */ memset(empty_zero_page, 0, PAGE_SIZE); --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C15E311946 for ; Wed, 25 Feb 2026 08:17:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007433; cv=none; b=ljf0AEO3In9ARICftmwVjMTDJupuUMGJtlT/jB6ivFJDJPfy0REvlMJbGCp1tYXIxCCkWlXycPdxF2SlL7hliIkYxUFZ8UA10tNPvYO7pmKHHNc+kKuSTY9KM341CroAIHQZ7yX83UiEK8nAW/kQCGjlyZLLz4Nw/hvlHCg1QQE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007433; c=relaxed/simple; bh=2qYkOHQ9ssN3m2WiDWJ2Jh88b8naTFxA0NJpRIww5Uc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=Q3PbzHKoXtsBLx2tQGBh2rOvDs/4++cjeQ5B5UuRYGpqEAN1G8D28HDEs98/tQl5+sateflwQYdEQnKzr9113kOuWG6aByU9Ccj3qr9o905oIxOUiq9TiGc/Eaz5nVwaCHwU7+ZKRaiqITy3nZWiyit+erJKXWOA7AghV22cfiQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=HF6ceENm; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="HF6ceENm" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oT83zYbQb0MMseAk5Xm5Eaz7XNiK7MPHbcs4LQizA5Y=; b=HF6ceENmCOMyeQ8LrLa/o7C9DvtoQJB/T9BxRnGUVzm3w8DKP5Tm/WZ+EgfEhZv1cD2HmZ qEuHAkGtSUzy5yPDVZwm2XIkvf/qfGxGGwd+3/aKdKC6HoxVN4GRFhk+/LFSA4Q4fBpLLz LE3S5VzBhtzVUItTcVhnoakc9tjTBrs= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-68--PGROTGBN1uM5wyFliyqng-1; Wed, 25 Feb 2026 03:17:06 -0500 X-MC-Unique: -PGROTGBN1uM5wyFliyqng-1 X-Mimecast-MFC-AGG-ID: -PGROTGBN1uM5wyFliyqng_1772007423 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id AA092195609D; Wed, 25 Feb 2026 08:17:03 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2EF4E1800465; Wed, 25 Feb 2026 08:16:52 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 14/15] mm/kasan: add document into kernel-parameters.txt Date: Wed, 25 Feb 2026 16:14:11 +0800 Message-ID: <20260225081412.76502-15-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" And also remove the relevant description in dev-tools/kasan.rst which is hw_tags specificially. Signed-off-by: Baoquan He Reviewed-by: Samuel Holland --- Documentation/admin-guide/kernel-parameters.txt | 4 ++++ Documentation/dev-tools/kasan.rst | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentatio= n/admin-guide/kernel-parameters.txt index cb850e5290c2..e0115fad9e60 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -2899,6 +2899,10 @@ Kernel parameters js=3D [HW,JOY] Analog joystick See Documentation/input/joydev/joystick.rst. =20 + kasan=3D [KNL] controls whether KASAN is enabled. + Format: off | on + default: on + kasan_multi_shot [KNL] Enforce KASAN (Kernel Address Sanitizer) to print report on every invalid memory access. Without this diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/ka= san.rst index a034700da7c4..eaae83fcb5e4 100644 --- a/Documentation/dev-tools/kasan.rst +++ b/Documentation/dev-tools/kasan.rst @@ -129,8 +129,6 @@ Hardware Tag-Based KASAN mode is intended for use in pr= oduction as a security mitigation. Therefore, it supports additional boot parameters that allow disabling KASAN altogether or controlling its features: =20 -- ``kasan=3Doff`` or ``=3Don`` controls whether KASAN is enabled (default:= ``on``). - - ``kasan.mode=3Dsync``, ``=3Dasync`` or ``=3Dasymm`` controls whether KAS= AN is configured in synchronous, asynchronous or asymmetric mode of execution (default: ``sync``). --=20 2.52.0 From nobody Tue Apr 7 05:41:10 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D07CC3115B8 for ; Wed, 25 Feb 2026 08:17:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007452; cv=none; b=f4Ezv5m8X1KNHRxYk+7m2RGEwNc/9/q0wSmG8/ieJhEfblGbV4wsbdGMaV4SqXjw1ewndyglOVVF2WbVIZa4BYfSbfk64FblZZew1CSNHtp2v/Um8F8r6dJx/s4k424+V1cI0WWOEAN52upLgviH0EOr69gcKHgRIfStGf1T4A8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772007452; c=relaxed/simple; bh=GZRNLbLZyPXE+uhRZMEWFIKDo4G2bYROWiAbH1IyQ5M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-type; b=N4PP4qUSnvFoBj7sWIEaSs9mr0LFgw364qjYj47MJLKDNOBe3MRYLvrEJ6WOHjxnHhjTCOuO+787vNRwCmQWPf/400h8nsmukt4Mpw4sgcscoKt1hmikuRCh/CNrN4PVxUnELDZBediFiIVNKcpQjY1ubvZfuJ1rl/aA/fxwX0k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=Kb8xh/oY; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="Kb8xh/oY" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772007450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oV6MOc6IZ/eQSfEt7lDYf3QV1I2fYi7uzloZcjfdDk8=; b=Kb8xh/oYF8NBk4PfcwfGccvPodNh0aKNest95Iy6oUkbtEmIAdXwlW3NkhxVwpWdz/ytac PE4VW/drLDCwxykzRC3JnybjR+6BoBbZW/diECuUTcEEt0iM9ICTcxfW7T+tpjqt9H1Fg+ +Q8QvM+lJs5+2zUD0UvEYLXJcV+zlRA= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-477-d1eK6WOzOV6_MuYcbjoUdg-1; Wed, 25 Feb 2026 03:17:22 -0500 X-MC-Unique: d1eK6WOzOV6_MuYcbjoUdg-1 X-Mimecast-MFC-AGG-ID: d1eK6WOzOV6_MuYcbjoUdg_1772007439 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 33B381955E8C; Wed, 25 Feb 2026 08:17:16 +0000 (UTC) Received: from MiWiFi-R3L-srv.redhat.com (unknown [10.72.112.55]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 657C01800465; Wed, 25 Feb 2026 08:17:04 +0000 (UTC) From: Baoquan He 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 Subject: [PATCH v5 15/15] mm/kasan: clean up unneeded ARCH_DEFER_KASAN and kasan_arch_is_ready Date: Wed, 25 Feb 2026 16:14:12 +0800 Message-ID: <20260225081412.76502-16-bhe@redhat.com> In-Reply-To: <20260225081412.76502-1-bhe@redhat.com> References: <20260225081412.76502-1-bhe@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 Content-Type: text/plain; charset="utf-8" Since commit 1e338f4d99e6 ("kasan: introduce ARCH_DEFER_KASAN and unify static key across modes"), kasan_arch_is_ready() has been dead code. And up to now, ARCH_DEFER_KASAN is useless too because of code change for 'kasan=3Don|off'. Here clean them up. Signed-off-by: Baoquan He --- arch/loongarch/Kconfig | 1 - arch/powerpc/Kconfig | 1 - arch/um/Kconfig | 1 - lib/Kconfig.kasan | 12 ------------ mm/kasan/kasan.h | 6 ------ 5 files changed, 21 deletions(-) diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig index d211c6572b0a..4b7802d02911 100644 --- a/arch/loongarch/Kconfig +++ b/arch/loongarch/Kconfig @@ -9,7 +9,6 @@ config LOONGARCH select ACPI_PPTT if ACPI select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI select ARCH_BINFMT_ELF_STATE - select ARCH_NEEDS_DEFER_KASAN select ARCH_DISABLE_KASAN_INLINE select ARCH_ENABLE_MEMORY_HOTPLUG select ARCH_ENABLE_MEMORY_HOTREMOVE diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index ad7a2fe63a2a..b51fbc25bdc9 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -122,7 +122,6 @@ config PPC # Please keep this list sorted alphabetically. # select ARCH_32BIT_OFF_T if PPC32 - select ARCH_NEEDS_DEFER_KASAN if PPC_RADIX_MMU select ARCH_DISABLE_KASAN_INLINE if PPC_RADIX_MMU select ARCH_DMA_DEFAULT_COHERENT if !NOT_COHERENT_CACHE select ARCH_ENABLE_MEMORY_HOTPLUG diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 098cda44db22..fd0bedd2c696 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -6,7 +6,6 @@ config UML bool default y select ARCH_DISABLE_KASAN_INLINE if STATIC_LINK - select ARCH_NEEDS_DEFER_KASAN if STATIC_LINK select ARCH_WANTS_DYNAMIC_TASK_STRUCT select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_CPU_FINALIZE_INIT diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan index a4bb610a7a6f..f82889a830fa 100644 --- a/lib/Kconfig.kasan +++ b/lib/Kconfig.kasan @@ -19,18 +19,6 @@ config ARCH_DISABLE_KASAN_INLINE Disables both inline and stack instrumentation. Selected by architectures that do not support these instrumentation types. =20 -config ARCH_NEEDS_DEFER_KASAN - bool - -config ARCH_DEFER_KASAN - def_bool y - depends on KASAN && ARCH_NEEDS_DEFER_KASAN - help - Architectures should select this if they need to defer KASAN - initialization until shadow memory is properly set up. This - enables runtime control via static keys. Otherwise, KASAN uses - compile-time constants for better performance. - config CC_HAS_KASAN_GENERIC def_bool $(cc-option, -fsanitize=3Dkernel-address) =20 diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h index fc9169a54766..f08f7f75c285 100644 --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -552,12 +552,6 @@ static inline void kasan_poison_last_granule(const voi= d *address, size_t size) { =20 #endif /* CONFIG_KASAN_GENERIC */ =20 -#ifndef kasan_arch_is_ready -static inline bool kasan_arch_is_ready(void) { return true; } -#elif !defined(CONFIG_KASAN_GENERIC) || !defined(CONFIG_KASAN_OUTLINE) -#error kasan_arch_is_ready only works in KASAN generic outline mode! -#endif - #if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST) =20 void kasan_kunit_test_suite_start(void); --=20 2.52.0