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 54268C021AA for ; Wed, 19 Feb 2025 23:31:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DDEBA44018C; Wed, 19 Feb 2025 18:31:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D8F5F280276; Wed, 19 Feb 2025 18:31:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C572844018C; Wed, 19 Feb 2025 18:31:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A8B50280276 for ; Wed, 19 Feb 2025 18:31:41 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 55492C03F8 for ; Wed, 19 Feb 2025 23:31:41 +0000 (UTC) X-FDA: 83138293602.18.5F47B4C Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by imf04.hostedemail.com (Postfix) with ESMTP id 535F240007 for ; Wed, 19 Feb 2025 23:31:38 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ExMT83o8; spf=pass (imf04.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=andreyknvl@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=1740007899; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HmA3kpoVqZacttI/kLsBWuEw55LbtbyDIck2OB1DMsE=; b=UsZ15RsUNKomgltRAmwDLmUa1MGFDtMKvoVOCPld31Si0hogu9+tp8ZJTSM4vTFjmxh8r4 0GB/iUH8LUihnNKPlAfeFPRZ60aihrjjQCRqAssV1zFEd62Ktw6wxtshhywF1fk723KhEt M6qMRuULe0AWC7EaJB552fTDhynZ7sI= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ExMT83o8; spf=pass (imf04.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.221.46 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740007899; a=rsa-sha256; cv=none; b=W1nJsFBS6mhr6OA7H5+nuNmgLTPUEpjGMirldOG1ntwEnx5iFl5BQ74CRlUjmfnr0lO0+a b8ecNCieGGdkPy2DP+pvmEKVDHyAtIQC/nnlKICeDA4f/vinIoEvr6ptRxpY7fHVzsOfsj PoUXrY2ufzX3Fq6kuLgNCzu6U20NYiE= Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-38f3ac22948so173792f8f.0 for ; Wed, 19 Feb 2025 15:31:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740007897; x=1740612697; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=HmA3kpoVqZacttI/kLsBWuEw55LbtbyDIck2OB1DMsE=; b=ExMT83o8Mf1ZS9cD0p20tkTLSZ9Y0J7Oo1Lw7ncgM/LhqNO/A7BeACExohebm+HIhb 0r6fpWGm20L9F3huHrX6sE7mvLsh6aulOb6IIMm/kWu8+B7M4cGdTtEAPn3SFnZfIQeL ReKiHMmyLVk3+AxfO03V4j98oLDSCdmemyU7/v2docTwnNqDZkKsh3rHXLu/3455jCl6 TFenlKBG8KqDN7SOkPs/ZytI7FEUsWXG/de7LOfV+KlrIWF2d7gt3rShN3KD/FX0l3MR 5X3V464HT3D4YvQZHBEVFgsPgqgR1T+LwjZDynHOkZHIRjT9Q/f6NVfcSeek9hclsVEs dU2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740007897; x=1740612697; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HmA3kpoVqZacttI/kLsBWuEw55LbtbyDIck2OB1DMsE=; b=HZorcpAXzHgU0KnlB5sdUapKHYgljEuGkJayhKPrXV/ZRsWsiVhw0p79YkwzVYYjVq M9YRPJ/cx/0qqz9n2FTliVzMn1OdSd2rSLxeNzdU8SGAH3CLQuLxEkeVqkgMi5fzGYww 5xfIcoZZ/KUwiZBToqZ7y/witxhgdwQc02i3YYQnIzEORlb6rd7iIqefNVt1Bfs0bkUK 16nQlQFuhCuBTY+QmCw92dBmOELKzkwQu7QwkvQiipCTNTUasXZOs80hNdM4mx1KjlxI KNtithw7cjZAvVhVBROv8IHhxsXb1CySo/4s815CsJ1pOiKqD6mUb8JsVTUdNxUxl875 z//w== X-Forwarded-Encrypted: i=1; AJvYcCUZfsTCkszh1UGlRo0GWWkqFGn/ztl+MNmB13zVhW/HoHhI/xc+q6tluVMtSQQDSG19sqpni7O9Fg==@kvack.org X-Gm-Message-State: AOJu0Yy9X0jarW6CV8iqhPzLoymnw6O+3L3Elrppt7d0fBILhCr5+BdU NZ2UmXSUhgGtnQdcv1GE4o/MkSBzBpyi9g3X0fLLx4i4+Nir8eVRwZopplJ66+HSHOnNX6rVp2y 5F4lU4wB5RhdKPTp2T3JNfd9CEHo= X-Gm-Gg: ASbGncvDB09gH18z9NJ1YZuJKEbsDOYxwfIo0XR76RBHkgHJuzv8ljLTcudGdZiwdAD FByyVe94rt6MQCDIcQAIrgTHxmZpvpsQ1NDUSEA7RnWQqs6T1/j0VxBTf5suyXjOrgb396akMTK Q= X-Google-Smtp-Source: AGHT+IHZfSzvxjzwwqUfoRfSbt1O6bww8e/f91PrR75G5joTfFDT2SujsALHP/CGMVLShEI4KvhD5J4ptOHfp9wh9iE= X-Received: by 2002:a05:6000:1fa7:b0:38f:4cb4:b822 with SMTP id ffacd0b85a97d-38f4cb4ce41mr9832739f8f.26.1740007897194; Wed, 19 Feb 2025 15:31:37 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Andrey Konovalov Date: Thu, 20 Feb 2025 00:31:26 +0100 X-Gm-Features: AWEUYZnqbVnkwo7RUnRvKpv13p7_X9As-mP0O1dDctMW1ycjuPipkHqXbxnM_MQ Message-ID: Subject: Re: [PATCH v2 14/14] x86: Make software tag-based kasan available To: Maciej Wieczor-Retman Cc: kees@kernel.org, julian.stecklina@cyberus-technology.de, kevinloughlin@google.com, peterz@infradead.org, tglx@linutronix.de, justinstitt@google.com, catalin.marinas@arm.com, wangkefeng.wang@huawei.com, bhe@redhat.com, ryabinin.a.a@gmail.com, kirill.shutemov@linux.intel.com, will@kernel.org, ardb@kernel.org, jason.andryuk@amd.com, dave.hansen@linux.intel.com, pasha.tatashin@soleen.com, ndesaulniers@google.com, guoweikang.kernel@gmail.com, dwmw@amazon.co.uk, mark.rutland@arm.com, broonie@kernel.org, apopple@nvidia.com, bp@alien8.de, rppt@kernel.org, kaleshsingh@google.com, richard.weiyang@gmail.com, luto@kernel.org, glider@google.com, pankaj.gupta@amd.com, pawan.kumar.gupta@linux.intel.com, kuan-ying.lee@canonical.com, tony.luck@intel.com, tj@kernel.org, jgross@suse.com, dvyukov@google.com, baohua@kernel.org, samuel.holland@sifive.com, dennis@kernel.org, akpm@linux-foundation.org, thomas.weissschuh@linutronix.de, surenb@google.com, kbingham@kernel.org, ankita@nvidia.com, nathan@kernel.org, ziy@nvidia.com, xin@zytor.com, rafael.j.wysocki@intel.com, andriy.shevchenko@linux.intel.com, cl@linux.com, jhubbard@nvidia.com, hpa@zytor.com, scott@os.amperecomputing.com, david@redhat.com, jan.kiszka@siemens.com, vincenzo.frascino@arm.com, corbet@lwn.net, maz@kernel.org, mingo@redhat.com, arnd@arndb.de, ytcoode@gmail.com, xur@google.com, morbo@google.com, thiago.bauermann@linaro.org, linux-doc@vger.kernel.org, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, x86@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 535F240007 X-Stat-Signature: ku41mgfoytpk6i9onbbpgtbqnxb74o4x X-HE-Tag: 1740007898-715070 X-HE-Meta: U2FsdGVkX1+XfGN2C6wGrUFBQGCUy56NTih0hyWeXrVL0YGqEvH+L+tS23zTO4EyNeRkbKeyQ/eRBMbHGaOTzKKJt3pkvtt6gOWhm8BMkdHMZmFnaSbRxVZyarishggo92e90D2qxCpPZOus0B0LkKQkmoGQcLTnAJDvH6PPXSzjzkDBkpwLdujE+wlRp3HxG61lGZQUApLBM757DApjaw5viADToUhJ/XVgZeKfjQ4KVzUupd6Gm/xO5hNT3gIsZQs7o+i1D4D5zVrdsE39cq705j2yaIdfj3SLvoNTlZSoEItG+DHLTt8pLfIt8bkcWPzkTW2sYOkMR91NRKn7CtPmh2jDrXIPiL/UETDbRZnP+Enuzu9TfuyWk1sj3lTF+s1Qo/G1TAPkxIfZgn03d79lEYFwJFVWpz33UfYuZn0ujtZU7JtraS1L9/DE71ZIZXQ1VBnZwSielnWrXQSUAx9+HTKuIffeZK+ZoD/vML4s6yMNB5Cs807UOduW5GK6NrQbfQf1LnxeTzUfh3onjxy6YMd8AfL1xnZFX/4kMRHJWA6fkXJJygXpfZsrUhdn3a/x6HXmgq8zElL2DUpt0ytiDEFTw8DyLFU6hVn8Uow9qmiXvVg7P5W5U3cXvjNNOCD/5osZ7P8hQZzjtGB6lFq0Sb+pdJzK22s3oTlGpZBA5TF468PSq+NLdjYhS+/EZSV4AWqua68U2CH/r/zKEFvPGCQeXD+//5i2pFw6OW9yw1M256IHEoK0smq1YnqQhxWQKTYQpkbf4w/czcKeuQvOAv69Fnl+R5hut8Ec0+Imw73/v+6CkEBzpN/behdF58syoWdp4b7Ekl6g10A/kJ7RYhdkguxFICmgEXxQ2jpFQICwOm4Aze2lkJokbpLQfd+NtbfYtcDs0vjMFaiCDs3+iNqPZWRiL78pRku0HrvbUa06qUqJ1/rb9ovjvbgp2mSzxQOGHzmTS/zQA2q ULFD6q/1 Ct3KJqy80FAmXjg7mhulF8NWuiRBPOnvk85uHp/JE69TN5BMQBnjzlIXIXnIoe+5vlz/hZoHJ4e+IDbCGA3d1VT8/jDIvPlJEb517SjwjTE3S3MMsNnPSHZutJFGqAH7U9WQWdbh8R00xHECw7ysioJr3r6HAmnwpPdFo5N3CW/GGewM/rGj9T9QJsygxxMIijuffPcR8DHVdO84o/nUiS347B/Q1o3AeTbk5h2NWvaypbBuU331Uf/V5Eh6qGoTnJU4WsHAepGMawCDQXaTd/FH3ThaA5sq7hrQ2+kQADRPIq0zg93bc+UCcJM/AcicWvoxNL5nOokloGHzolyrVTdl1slLEd8sIiYXhIoWdU2n7UEb+nVtvKfOMweTRpj2GcIV/3RalKNjorF+dM96yuDZASogli9oIbSfdDIWiA9dUvnd/zk1J6hOKbvU5rzuhG8Wa 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: On Tue, Feb 18, 2025 at 9:20=E2=80=AFAM Maciej Wieczor-Retman wrote: > > Make CONFIG_KASAN_SW_TAGS available for x86 machines if they have > ADDRESS_MASKING enabled (LAM) as that works similarly to Top-Byte Ignore > (TBI) that allows the software tag-based mode on arm64 platform. > > Set scale macro based on KASAN mode: in software tag-based mode 32 bytes > of memory map to one shadow byte and 16 in generic mode. These should be 16 and 8. > > Signed-off-by: Maciej Wieczor-Retman > --- > Changelog v2: > - Remove KASAN dense code. > > arch/x86/Kconfig | 6 ++++++ > arch/x86/boot/compressed/misc.h | 1 + > arch/x86/include/asm/kasan.h | 2 +- > arch/x86/kernel/setup.c | 2 ++ > 4 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index f4ef64bf824a..dc48eb5b664f 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -195,6 +195,7 @@ config X86 > select HAVE_ARCH_JUMP_LABEL_RELATIVE > select HAVE_ARCH_KASAN if X86_64 > select HAVE_ARCH_KASAN_VMALLOC if X86_64 > + select HAVE_ARCH_KASAN_SW_TAGS if ADDRESS_MASKING > select HAVE_ARCH_KFENCE > select HAVE_ARCH_KMSAN if X86_64 > select HAVE_ARCH_KGDB > @@ -402,6 +403,11 @@ config KASAN_SHADOW_OFFSET > hex > default 0xdffffc0000000000 if KASAN_GENERIC > > +config KASAN_SHADOW_SCALE_SHIFT > + int > + default 4 if KASAN_SW_TAGS > + default 3 What's the purpose of this config option? I think we can just change the value of the KASAN_SHADOW_SCALE_SHIFT define when KASAN_SW_TAGS is enabled. > + > config HAVE_INTEL_TXT > def_bool y > depends on INTEL_IOMMU && ACPI > diff --git a/arch/x86/boot/compressed/misc.h b/arch/x86/boot/compressed/m= isc.h > index dd8d1a85f671..f6a87e9ad200 100644 > --- a/arch/x86/boot/compressed/misc.h > +++ b/arch/x86/boot/compressed/misc.h > @@ -13,6 +13,7 @@ > #undef CONFIG_PARAVIRT_SPINLOCKS > #undef CONFIG_KASAN > #undef CONFIG_KASAN_GENERIC > +#undef CONFIG_KASAN_SW_TAGS > > #define __NO_FORTIFY > > diff --git a/arch/x86/include/asm/kasan.h b/arch/x86/include/asm/kasan.h > index 4bfd3641af84..cfc31e4a2f70 100644 > --- a/arch/x86/include/asm/kasan.h > +++ b/arch/x86/include/asm/kasan.h > @@ -6,7 +6,7 @@ > #include > #include > > -#define KASAN_SHADOW_SCALE_SHIFT 3 > +#define KASAN_SHADOW_SCALE_SHIFT CONFIG_KASAN_SHADOW_SCALE_SHIFT > > /* > * Compiler uses shadow offset assuming that addresses start > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c > index cebee310e200..768990c573ea 100644 > --- a/arch/x86/kernel/setup.c > +++ b/arch/x86/kernel/setup.c > @@ -1124,6 +1124,8 @@ void __init setup_arch(char **cmdline_p) > > kasan_init(); > > + kasan_init_sw_tags(); > + > /* > * Sync back kernel address range. > * > -- > 2.47.1 >