From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0431C83F3B for ; Thu, 17 Jul 2025 14:27:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54C166B0098; Thu, 17 Jul 2025 10:27:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4FD956B0099; Thu, 17 Jul 2025 10:27:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3EB746B009A; Thu, 17 Jul 2025 10:27:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 2C9E76B0098 for ; Thu, 17 Jul 2025 10:27:48 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E2C318079A for ; Thu, 17 Jul 2025 14:27:47 +0000 (UTC) X-FDA: 83673985374.15.090C40D Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by imf21.hostedemail.com (Postfix) with ESMTP id DAA121C0011 for ; Thu, 17 Jul 2025 14:27:45 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WIY5wJXe; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf21.hostedemail.com: domain of snovitoll@gmail.com designates 209.85.167.46 as permitted sender) smtp.mailfrom=snovitoll@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752762466; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Y3WcQqYlZ+nGmkIZO7BZjNBhDOM5R3Ju7Hd0Z8GcHCU=; b=zb/lm5mNv6KmIMoGXBNAFdvRkoJAZ5cBsmK53DTWCbWwDCsOaiCzxj/kZUleQMNeWbxHm6 bD7F4vj4EjHKfKWS/1YBdJ+dlmspV1M8p8j03Fomv/HKlUeRv6F8dOZ7qCuRROFR1GVokp MCUeEFGVIx7WEgGibpdVwogMs92YvPM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752762466; a=rsa-sha256; cv=none; b=Arr0vT5dWRws/MDt5dXHyHXu5p/Lu44Md8NzCIbdIkKFlrGY8ozaT6X6izyRPlzAlEhdwv bUeUxnuo30643TFQ1Z+pNWaLtEjJO3fMzFSzD3p6Xemt2Lk0zBmuQQ9bmh6Qd6K6mXZVLm KUEqVRHIPvoq1J6LCkvK33CnMLOxdSQ= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=WIY5wJXe; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf21.hostedemail.com: domain of snovitoll@gmail.com designates 209.85.167.46 as permitted sender) smtp.mailfrom=snovitoll@gmail.com Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-553e5df44f8so901745e87.3 for ; Thu, 17 Jul 2025 07:27:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752762464; x=1753367264; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Y3WcQqYlZ+nGmkIZO7BZjNBhDOM5R3Ju7Hd0Z8GcHCU=; b=WIY5wJXeBzT6oqsN/ZvNzIFlTnxssga/lj8zv4CBgHGZpEXWUPyn2Kx+kSI0LBaSmG /LVfOfAtcnPnilDTgKhaXVu0YBFFVCLlKIV1Guy+LTU0uSTMzx9BdnObiRIT9p7vitxL NIn2BB0bVPLjsOFrQSTCUXnPfLWQYOW8DlZ/aP7iEIousRIbmv9xDuzAgk0oAuNYnq3s Xc+DMAzud6sc+8/AWHerUWePtXqhJ0nlkt+I6WVucJko4hJZYRvS130fwRapFdF5yfaL LAsqUrI03PcWDMgzifHeVyNuOo3k3LKR4yrSx4X5e8BpbdMV1RtFGEYhhCsGtR7KVSoU ZYfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752762464; x=1753367264; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y3WcQqYlZ+nGmkIZO7BZjNBhDOM5R3Ju7Hd0Z8GcHCU=; b=aXYnTHFDtVpDum88gKWceNMatVT/2i+ENWu3GmbWLtOjAXNFt5EUVFMbSOUSq8/KLz fIfCaumQja//mSf6OxpWAu9ueV+m7qD3/AMGPUjVmU/qN2sLPSON9m4c9ihG0ceHGoh2 BGWWcBxiLFT2LBuB9oMKclk/8yPhOYra+9vB1Hcao8SXruZUb1jH6hE4mQ4je9oVtXkJ 0+nht0w6XqFpGdl793Z/hY0YPOSz3txD+duXZuz0841hgxgzyDAc+po6rT/U4m6uTgCd /ZYix4BD9DFd9d2Ys/ZYjovRIEWTWg6dLqaygPsYJo87PeUNkyilAizkR5/gxMcywW66 1OIw== X-Forwarded-Encrypted: i=1; AJvYcCWT5850hUCRwYR/GbRwQC+boY9eE63zHmcGwazFzu/Rbc0ew7a/BWgBj3LnmrcDJRCfuPlymEebZg==@kvack.org X-Gm-Message-State: AOJu0YxxGVAJ+RgUufL/hoFXS6HJ/xhOgd0vocB2vylxWVjWke2KegFy M06uDlFg52vaQ4kJx3sDMC1OxxeBd7Mh+91UFU11nbWiJs4sNyCidUzD X-Gm-Gg: ASbGnctbRWc6hd7x9rdtBiKnYkZni1u9LblnSnWwi+D2LNg0yGjsKWFerVu5JR7guhz 6oqlS9iFpFD+T0heFWlFNQDAXDl51bqpQg4GMPXCUlVkKER1MH/6LMJtIezEQH6JoUPGdeGWmnZ CAROdg2+q1xrF7tbr8NfRW+ikyePUFUEOJvUzFzATVJd1+5ggmn4ICcVrFX+yJzVvTa7NMI+laU p7Lb0cXypqaaGqewscNJIYncwhS+N+CFa7ke5pt7IsgV/AweLglACP+zmbbaXT4o+EPq6KTgFG4 +w4a+yZ0349iGLt92uKaVpchED7OcP64k5AA1ByI8Bk1Ml5zKr6mrf2p5cUeH9hYHL9u8oaby37 7TU1SiLJ7xatE9G4O8m/R079z0il2yfnHLh7bfgDyCGpVb48eRitGLxdIdVFrfuRzK5TR X-Google-Smtp-Source: AGHT+IF/OloHnnX3mhASN203Qn491wmneqjv+U28AgmKB7HhI1lYsnMn0p3m12S3GUHmxAKLZ2vT4A== X-Received: by 2002:a05:6512:15a9:b0:553:2421:f5e3 with SMTP id 2adb3069b0e04-55a23f1f963mr2211249e87.19.1752762463801; Thu, 17 Jul 2025 07:27:43 -0700 (PDT) Received: from localhost.localdomain (178.90.89.143.dynamic.telecom.kz. [178.90.89.143]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-55989825fe3sm3022975e87.223.2025.07.17.07.27.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jul 2025 07:27:42 -0700 (PDT) From: Sabyrzhan Tasbolatov To: hca@linux.ibm.com, christophe.leroy@csgroup.eu, andreyknvl@gmail.com, agordeev@linux.ibm.com, akpm@linux-foundation.org Cc: ryabinin.a.a@gmail.com, glider@google.com, dvyukov@google.com, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-um@lists.infradead.org, linux-mm@kvack.org, snovitoll@gmail.com Subject: [PATCH v3 01/12] lib/kasan: introduce CONFIG_ARCH_DEFER_KASAN option Date: Thu, 17 Jul 2025 19:27:21 +0500 Message-Id: <20250717142732.292822-2-snovitoll@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250717142732.292822-1-snovitoll@gmail.com> References: <20250717142732.292822-1-snovitoll@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: DAA121C0011 X-Stat-Signature: t64bdjyrkxzfu7yb8x6rt8td9ns638c1 X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1752762465-733451 X-HE-Meta: U2FsdGVkX1/t7Mgb8PHlh6dicnsy0PPy+Tphiv4MdPyDgxv8e9aelmLkVs9hqtJl1uaY3TtBjnGs8hYAN53TZKNhjOLv3ZO/DCFJNqFBgU3v9KDOAQsnubEYBBNufUS8NBekn/9wjYSgzJ8ZxpwYbmyF+AilA5oHF6bf/GN+uQfwQPpgoel2e5Py6qXW/SszgyRfWSscPVHH7iTF5D/rPzFZYKTmVlOlweu35AFn8tHcbXOKpoM5x7wmwWgLyQDL5F6BtfSktBGL0YR1A5mcCXdGHWTh3CZFNGb2EWs3OZL7ujknEqFGQ0xzoYWZNmBqy/QWDUc9H9Xvae9k0HOiMa9lvAWMzxxpKoZfU3EX7Xy343rgGp6J/0IY+KOxcBFweSgzrFO/JOXhMg4Q35zJaZsDpzGHmeF1ZqqBpmSNLc14axgX3MsLRutdSGi8rNEbqpNx2TsiS6A2//cR4lbylhnR/scNGq50aUYPDjakEGl2aYcWBOC4j6pO+PAS4UbhNRm6cdFp+7IZGzuSQ335Ck6OT1jlMPt5S6qtiPj/eJCQk4GiF2v1kaTC+5etyjd+uNx/OijwBCvfyy2h9AUN85jV/GZeq8UUElY+Zhz3vNG5qowyfFrnHH4cna7atks3gznArjwuqZmKwSbmX1EDciCc95mg1YMYpZ3ritlX7RJ3fsSeB915aR/j1vF7RtpPFvEvcZaHOHBAp3PF8Ir5fCLTvmrbm8ce+WePYmm9HFJl1BHMzYGdMxMLtAfdoWhTrBsYFrdk9uiNv8w2Ec2JdfsOiZzzlolgbhJ7k/eCbS8qQU/0WI4jAEsSWA4/HzcZ4flNAFDSuvVIWtZGbXDzWvO9pFUXDnCcxlGHwwg5ARODYbPbGDOmmfsYu/VzkiirF0szVlwpLuinhtWoB0YTD3Xi12tSJ86VN2LIKouVQUsH28YhJAN2URSSCljFEUfY8eVIb/2WwPtpPRFlLag YgZhTA4v rxOzgChL+4d8dZN/meJA60swRcAxm5rwVS9vnj0UtRZNOSLXEqeVubYRF/0VJNLPpBg0HhdABMmxafcx4b7v0YZki7kwyRJxHYUZbE6sOuROqAwcO74WOTbHhqDUATNUesU0/2+mYgfHJXxbgfmAcytILR6eXbNDPIvzZcMv4T4huPV0EZeT914aRLq+EqyRa3QWkrgNMGxFu2EPHFKMnjm5xAluH7MOhMbnN1aFCSN/12USjwLyCyVW6DX2IA7RBrVaqHunGloIDMbtFK2Fj8urARQzN33Vde47OVupJ6ps3JAMCU2Ia8OjEmLYIoJrd9qgUeQLS4YYU5uOtCzTyYA6LPucp+GcevY4D1Eh5B24XVa4+kjM/VEUGyKHzbVt5TQZVFbarIkjYrmnekjaS4EeD6iYSKIbq6qkYkUZ/YLYhrooD3lsyw7uE7WXUrV+NU5ex96st8XRZtafJoQ56nKiFjuff0tr7qwtCFp24X4hzhsa3JOOX4k9zSaQqX1xxmcuCiq9NgZY8kDudPUR2Hg/GeabR3G3r5MYXRIQt1eumI1J9u5mA6laYHw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Introduce CONFIG_ARCH_DEFER_KASAN to identify architectures that need to defer KASAN initialization until shadow memory is properly set up. Some architectures (like PowerPC with radix MMU) need to set up their shadow memory mappings before KASAN can be safely enabled, while others (like s390, x86, arm) can enable KASAN much earlier or even from the beginning. This option allows us to: 1. Use static keys only where needed (avoiding overhead) 2. Use compile-time constants for arch that don't need runtime checks 3. Maintain optimal performance for both scenarios Architectures that need deferred KASAN should select this option. Architectures that can enable KASAN early will get compile-time optimizations instead of runtime checks. Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217049 Signed-off-by: Sabyrzhan Tasbolatov --- Changes in v3: - Introduced CONFIG_ARCH_DEFER_KASAN to control static key usage --- lib/Kconfig.kasan | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan index f82889a830f..38456560c85 100644 --- a/lib/Kconfig.kasan +++ b/lib/Kconfig.kasan @@ -19,6 +19,14 @@ config ARCH_DISABLE_KASAN_INLINE Disables both inline and stack instrumentation. Selected by architectures that do not support these instrumentation types. +config ARCH_DEFER_KASAN + bool + 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=kernel-address) -- 2.34.1