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 56E3BC83F1A for ; Thu, 17 Jul 2025 14:28:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E9C476B00AF; Thu, 17 Jul 2025 10:28:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E4C7B6B00B0; Thu, 17 Jul 2025 10:28:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CC6886B00B1; Thu, 17 Jul 2025 10:28:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id BC8706B00AF for ; Thu, 17 Jul 2025 10:28:11 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 665FC160759 for ; Thu, 17 Jul 2025 14:28:11 +0000 (UTC) X-FDA: 83673986382.17.257F33F Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by imf23.hostedemail.com (Postfix) with ESMTP id 6BA61140007 for ; Thu, 17 Jul 2025 14:28:09 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=F3PlPq25; spf=pass (imf23.hostedemail.com: domain of snovitoll@gmail.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=snovitoll@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752762489; 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=FVh/EioNiM2ei5SEPjKOjjcyR398WOKR4A8RtqUhr5I=; b=fYkbFJzVXjvFjqfIQc2+h0D/FyToSNDWxUxJ3F1nx1b1/jmeFegwmZiGerH5H45d4aiXBq jwOVRRIcTbE2ldhG4eafkF/r29WqPwVFANNnAe0ScAEIaS2yZxRJYK9CMaxKUHMw2U5hRi 4uoNWe/8AxJbyVLZACOUNkyy2xbc3Lc= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=F3PlPq25; spf=pass (imf23.hostedemail.com: domain of snovitoll@gmail.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=snovitoll@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752762489; a=rsa-sha256; cv=none; b=hUVkZeWXvMdY46Si3Nm9LNUTCFqbIlePoPat+5Ty7MDMdL2NexTes0vQrJzUubNkko4KnI CcvSOsmvhGwbxVi1rTa1xWZC5IQ9pzr2EzKRvgLq5fmR5IH/L3X8ekmyuu6b3xAuRhcQ1F HW1jOyLs9vx4G/qX+CoaRPKLq2FC5PI= Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-55622414cf4so909193e87.3 for ; Thu, 17 Jul 2025 07:28:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752762488; x=1753367288; 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=FVh/EioNiM2ei5SEPjKOjjcyR398WOKR4A8RtqUhr5I=; b=F3PlPq25xPKB5qksCyw7V+OQ4JY2hHOTFUHyyd1QZ0L4grOkzzHkG8XqiFnWlta/lU MGp9WT59WtKLDzSEbcyzdd6ZDaR9yKGdk3BV784pHkiQzq5sQkiEcyMvyRMqpaWi9swO 7+OxhiTcQH6M1YPc5BbKxNVe2wrVovPcQZXEtT70u9iYQXNA3t18XtG6BU64tZW/DekH uOF3MvIZtVd77wnYXUrH0XO/DB+8Lqtc8jTyyG2107UrzcONV85Yfqv6vFhm8jWI9nig U8Qc+t8bVnEfLaN9stciOE00zp7f+K5lBAHUIRNLckYrG2jnvpGszBDPLimYkZYv8iQa 5UoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752762488; x=1753367288; 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=FVh/EioNiM2ei5SEPjKOjjcyR398WOKR4A8RtqUhr5I=; b=UyVKYd2y3IJJIcdICHjvt7B/j/6aDGRc00A4diDreJdeAne5+rx0FHIdwBPE6XGcQy eAI2f62TvRPSyjDjmXfcS176Au4zX+iJr17z1JODkx5eDWSNnOzSaPOXsIdbros/oXJ0 RlDoGX40vd69NYeMtwsF1SD0GrSg403dD1HR8M/iK6biViCeqOIIx5k7WIgvGSzCXEV6 2PawnZ8kijjosnHO+My2qIbkZNBpXodY4H2Ol+OFGIhXLFWUhCEiQyQoxWr+3Wr2gvUJ Y9Hc1FpGncBcv9FcBFGiAApFhgAWnEDZsfapuWwnTArgZ6p4uF5PNMLxPx0S1ca5bdcp Je+g== X-Forwarded-Encrypted: i=1; AJvYcCV0VVM276aP35QYu+OwB6Duz4AwBgrX9rKDpY+LPtOZ7c9dxqol1VwXdRVvSs6I5PDneEw1ZCGDEg==@kvack.org X-Gm-Message-State: AOJu0YyPx/UkD+yr5fEw+hxzmGYIZymgW9zjCMv7MoHS4JIns4LD2iF1 Bci+XuyrwikEZze85aGOzTozmaamFhQkylPewIbZYQGl3Ie8Wg4jOsLQ X-Gm-Gg: ASbGncusP0IRomyFYkuNsh3ctsvP+MBZBKUSOBZvHC/6kYYGWLtUOH+APYFofyxlZeY T6WXglOV4dpNbEpZhMvsJIykMC4HOgiv1781CMzZYFXgkApxc3L/TbgnlsSRGPgzs0Yt2XwhyJC nI5q5RkYyrNSnElvr9ei/ptphUfcFojyfg7GFVNjx4FecEjJPC1tSB9eg01TtuJ7l5oTk9Re8jS yF0QEG5XuCMYXrtWbHa6I7IKEK0XRIAC1H0b0DKjkWoSQ4q99DZ5fzT0vZQrG8Eq7xGMhfcHono y1SU+0T+zQZT4unrsb1TQsQsaScI8A6vr7viTw2sZAUEHN+LpLEMynMrxDGIuYqilByDF1hCyva xGUUF002yNAWdGVz2rhMh6FOlGc79aWka4x53g87euuclPuANj03dTifrpmYm6BuxpuDb X-Google-Smtp-Source: AGHT+IGxLJhvaMCe+spMW+LE9A946Qy8DaLWnnJJyiUxPC1zU6fBVPq5lHa93m7Tf0WxYYCemaAtrQ== X-Received: by 2002:a05:6512:611:10b0:553:2e92:2c98 with SMTP id 2adb3069b0e04-55a2339f4b9mr1702111e87.42.1752762487529; Thu, 17 Jul 2025 07:28:07 -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.28.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Jul 2025 07:28:06 -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 08/12] kasan/um: select ARCH_DEFER_KASAN and call kasan_init_generic Date: Thu, 17 Jul 2025 19:27:28 +0500 Message-Id: <20250717142732.292822-9-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-Rspam-User: X-Rspamd-Queue-Id: 6BA61140007 X-Rspamd-Server: rspam06 X-Stat-Signature: h3wad4meomrho8rayoc3cszu8efa96nu X-HE-Tag: 1752762489-795950 X-HE-Meta: U2FsdGVkX1+1RNjrIgNxyUC4jx14XwQdAQJTR/LaoBxQll1WxUYaBT4XVdhWuP6MhDouVBkBz7NQInWAlMmWABGWcNHpljtGbU7FoCSEfHhniEdWgJ5DbZg8n3HUrVCLMd2yIpuvWOiX7Dr6Izr3C/UC+VnwsElN8hzus/nki23V/loIH27bFbusjF4viaN5NjZdgd19yr75zeMf0yMr2GU8ZGzIdcAcIqhuPjneU4eNjhHK6NJpJIkBVvYNpPkdcrVQNMbbUXwRulrnxcQS7pUo0q8iPZu+2ob1hBKWsUmCUQnzEi07n9wjaWhoQKr5RwbIx2mAjGFi4QMa1ck8Zr3L/fPXG5OGT/Y3PJq+aSBhchpwKv/WHH/XuwXu/rRy3sdeDXj8GpVRNYgKR4Vr9jmLbCXt+ltwX5Tgo4wVNLeKDcoj+OLHzzolIXmYScEaxPyiU4z5QiE3TO5A4l2zUbbn6on417hiI/bCaohZXE4LH1NQtUcCVVHG29uL0n9gdlDmkdjA6z8bbyaJ9ouN3LjYV41nrHBSEjwYu3p7JHQTdFYH+ul6tgAuxzQwd7zlA5H+j5nWfJ3kTpupLrRn+42y3/lv4cmH5BTm4OEgsBx31UzyKw0ri7EVe6wyPwiRvp4B9HSzoTPvV7wYMahXSJGT9C+GiTDZuDgd8KsSTFtUHc6QfmzKJ3LWJVt2V5mM/QJq7r/TIirzIdEO7TWmFJAgzhCcv61FR80I8E3namxni2SrgVhSJu/wZQHnegZkAQeOKSCgj/Zn+78x2M3OCmAsZuj0NljRRAD6juZpTHojDnmy1+VFIy9PMA/u1yD8tP4BoZ0M3OP5s39iO2WFl7AK06Ty5mf8NpWcsjTZ6CM+gACpSDNRbpkpwQRMiwBA/nQ4/9HuCJcDe9PwKX2C+owZ/KzDwe9nxsECqNF5JgiGKYvknrL7tdH+pXaEx+YI22eV42VmBEaHyMzUQjY e1RmaM7d TBaIHjoHoovYe16Mjk37cYMpJgmnBwCBgVYqZUFeXTkaStPc/F2rmknLECYH8TY75iN4C2tzYln0Mm0xlAdIF6GOG/ZgboZJThnujI/6CA8Xe8M9C6YsmweT2dwTKWG+Lmpv0h4QhRzosKU+VgqcqvdESHOJtSEagJUFOEcpHl97UxzfVWA758T12zr9hKw4xG+4szfP/rZNQmJITA3yFqwMeqmYyB9Zbv5mHpdtlxeosnfZUNx4c+WO4801AgWXnogTgxprKeWblwGeNSTxdwT2GHvDGQnSZvS193/16XbT6nyvpdiC+FRMoOSXpWZDgkp0j7hXpMmNlsBdcGu8/64wp/d+du3CrreVTf7L/oLuLyDVX+xQpi16AHXqF7VhhoFCSJNyqidNOLSwQjFYr5ZFrwaP6rkj0N4wBIRRQMvHnooP5n2vWysC48myGQC33dWkDE4ylWDO7xmp2WqIXT1kqS6rE4wjAdSyLdlOZLxbH/FPz7ILJ85Uh8N1Io1o7WVAyxTXWkLqjDDN5XzPQ51x/MfIgsC/w4/ErXVKso9DvF7+nLUowzwSBaA== 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: UserMode Linux needs deferred KASAN initialization as it has a custom kasan_arch_is_ready() implementation that tracks shadow memory readiness via the kasan_um_is_ready flag. Select ARCH_DEFER_KASAN to enable the unified static key mechanism for runtime KASAN control. Call kasan_init_generic() which handles Generic KASAN initialization and enables the static key. Delete the key kasan_um_is_ready in favor of the unified kasan_enabled() interface. Note that kasan_init_generic has __init macro, which is called by kasan_init() which is not marked with __init in arch/um code. Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217049 Signed-off-by: Sabyrzhan Tasbolatov --- Changes in v3: - Added CONFIG_ARCH_DEFER_KASAN selection for proper runtime control --- arch/um/Kconfig | 1 + arch/um/include/asm/kasan.h | 5 ----- arch/um/kernel/mem.c | 4 ++-- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/arch/um/Kconfig b/arch/um/Kconfig index f08e8a7fac9..fd6d78bba52 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -8,6 +8,7 @@ config UML select ARCH_WANTS_DYNAMIC_TASK_STRUCT select ARCH_HAS_CPU_FINALIZE_INIT select ARCH_HAS_FORTIFY_SOURCE + select ARCH_DEFER_KASAN select ARCH_HAS_GCOV_PROFILE_ALL select ARCH_HAS_KCOV select ARCH_HAS_STRNCPY_FROM_USER diff --git a/arch/um/include/asm/kasan.h b/arch/um/include/asm/kasan.h index f97bb1f7b85..81bcdc0f962 100644 --- a/arch/um/include/asm/kasan.h +++ b/arch/um/include/asm/kasan.h @@ -24,11 +24,6 @@ #ifdef CONFIG_KASAN void kasan_init(void); -extern int kasan_um_is_ready; - -#ifdef CONFIG_STATIC_LINK -#define kasan_arch_is_ready() (kasan_um_is_ready) -#endif #else static inline void kasan_init(void) { } #endif /* CONFIG_KASAN */ diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c index 76bec7de81b..058cb70e330 100644 --- a/arch/um/kernel/mem.c +++ b/arch/um/kernel/mem.c @@ -21,9 +21,9 @@ #include #include #include +#include #ifdef CONFIG_KASAN -int kasan_um_is_ready; void kasan_init(void) { /* @@ -32,7 +32,7 @@ void kasan_init(void) */ kasan_map_memory((void *)KASAN_SHADOW_START, KASAN_SHADOW_SIZE); init_task.kasan_depth = 0; - kasan_um_is_ready = true; + kasan_init_generic(); } static void (*kasan_init_ptr)(void) -- 2.34.1