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 E422FC02198 for ; Tue, 18 Feb 2025 08:17:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 821A32800F2; Tue, 18 Feb 2025 03:17:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7D1082800EC; Tue, 18 Feb 2025 03:17:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 672462800F2; Tue, 18 Feb 2025 03:17:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 472A42800EC for ; Tue, 18 Feb 2025 03:17:31 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id F13C6A0DAD for ; Tue, 18 Feb 2025 08:17:30 +0000 (UTC) X-FDA: 83132361060.20.F89AABF Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by imf29.hostedemail.com (Postfix) with ESMTP id D97FE120007 for ; Tue, 18 Feb 2025 08:17:28 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=BFI7yhzP; spf=pass (imf29.hostedemail.com: domain of maciej.wieczor-retman@intel.com designates 192.198.163.16 as permitted sender) smtp.mailfrom=maciej.wieczor-retman@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739866649; 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=/cX1p2lxroC4wffAIvexwPR0Fxx/XW76IQ4D/P2WkdY=; b=zuhcmGT0GER3wF2E6OQRlbp3nh4FVBPsGPgBJOW/+60QtRJ9az7lyuAfzWRdRI6ImQn+xd 4thEZbadAMhRbPJj0vpNMGwcjQQZbuqwb6LcfwYbN9RmYORFycmJZ3x9fpPl76F6V3/gAP V9e1V1r5GpBA3NQqV3VudGVLEcHpe9k= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=BFI7yhzP; spf=pass (imf29.hostedemail.com: domain of maciej.wieczor-retman@intel.com designates 192.198.163.16 as permitted sender) smtp.mailfrom=maciej.wieczor-retman@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739866649; a=rsa-sha256; cv=none; b=VD07qbClVKoAWFH7Fw2/R+CDkwWHw7nA4yqhqaHHFMwnjSAn53jaU6YuCLptNtqaW/BUA9 pD71cQsz6kTw6yCzTvt1Ep2B+EbDlF5irxm/IxSO4a728onKpihGkQ4ic22pI3kHVd0NLw PLV25ekwjCsZJqEF4wHiSeKiKd0lWhI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1739866649; x=1771402649; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vZnoVBHv0l9iKflwNJuydsONrEphO2Y6vfEcHPCjENE=; b=BFI7yhzP+26mLZb+zDJKHuNC6Kyow0cFnZND3DJLmLM9qXkWe5pYtLXz kNNkpuGJY7d8q/IU0d235xbjUt5Jxz9HLIv+LpJ3J98zR1MFpIxTlqQGK UC4ArAz0mC4HfbzKuFfI50llv3umB5WfZA9nWDc3Txc5pw7TzLO7DjMui QBNeeY7sr3OmyH0X/Ckh8wskdP3QThx5z9CsMpHbxKnKkAhjMEkgIvrka coky6wOOI1+YuwLVVd/+n0GiRckVg793Cc5MhR6KZW8Q9mLn/XVsAP/B0 svhwlAsoz3rPptnLoG/04ImAm+WDTUxdhmzouEQjr3LSZ83/q3soTcLPL A==; X-CSE-ConnectionGUID: 0PdV9+I2STCn2OHYoZKYVA== X-CSE-MsgGUID: 426DcbGlQhCTR4Mnk+Ui2A== X-IronPort-AV: E=McAfee;i="6700,10204,11348"; a="28150135" X-IronPort-AV: E=Sophos;i="6.13,295,1732608000"; d="scan'208";a="28150135" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2025 00:17:28 -0800 X-CSE-ConnectionGUID: xKQi23p7SyujmVCTf7U/Zg== X-CSE-MsgGUID: 9P48bDiJSRi9kqQCnYaSFA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,199,1725346800"; d="scan'208";a="119247544" Received: from ijarvine-mobl1.ger.corp.intel.com (HELO wieczorr-mobl1.intel.com) ([10.245.245.49]) by ORVIESA003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2025 00:17:10 -0800 From: Maciej Wieczor-Retman To: 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, andreyknvl@gmail.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, maciej.wieczor-retman@intel.com, 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 Cc: 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 Subject: [PATCH v2 04/14] kasan: sw_tags: Support tag widths less than 8 bits Date: Tue, 18 Feb 2025 09:15:20 +0100 Message-ID: <09962dd580a56e308d98b7bd5829dc57928bcc40.1739866028.git.maciej.wieczor-retman@intel.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: zhn4stnwqdp3gtkm6hxwkkraar3e6z8i X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: D97FE120007 X-HE-Tag: 1739866648-766058 X-HE-Meta: U2FsdGVkX1/5nTD3Q5ZXVX+gkByoVTUzOIZh82DyS4W4W0eeb/m0hTuBb9ofVznD3KGQgKUvWEw6XfP/LZMKX5gXlhaYVrjHYLRuEk9oZ2/PfN011fXTPsKkLgPaHgDixw1GdN/BmkEeGJSBAZXOhtoMjg50aUBnLKlt2kCOHTWJ4FYBRlTEGv/s7vNRfI0/2Q4asH1kLlCtLR1vy6XARr7ouEkwQXn6K0iKX6mtuPJSavfY716evdZeHs6t5e0Xz4XAP7i1q4+oqN7FLD3Rzvx+eJXEBy8MX9N4wmp3FRR7WVuXEbfMPY3q6H7y7ytDqYBa+HKzzCcwCCP4uAj3KX/nq8xft/KGb4+Mb2Dn9YLzZ3uKx2SHFct9+LboEyLFuSfNUbNkHeu2svj9BtH2Hyvro5NlnwhSLXHzc6ai23UeMLuqWPN2PgumRs0MZheV0WR4Fy/iAfrOZliK/x+niO7aqzHR26VrjUcADk9NQTJ2ezpz9o/V9T/gFQKJ2nFEGpfkPWoBqf21m5vt/0LO78MKc+8dZ1ZQ8ImbHGb+pHgwKvGykAjCC9g1nKZ4g4zHfwT/pqpx9NH8eyvhSi0Uimn0Fh2cooF4X+aX44BBieFGf85imvnj8AEQcmFmpN0IcGUVMc0Ka7fNw0UmYoWfMrMDsN+AT5CPp02jwfq5w+gCzdF5Gr3oZpz0iKiRLnwjcM5422qfJrTfTBiRXx9E8X8Bgn54p7my5pl+38oc3DS4WPs8rEmGwdm6o+IWIs4JPjTOl7jlKTRUBmneg6Q5Vu9MV3/CGTT3FWCaKxVaOrpfe8uLSxnwtBgGrfODdhbc4H/+vPJRx5l9tGPa6skhCNGpRjawb0ZdQZ1efuGhEzHmUlJMtXsIXxiyb7vBUkTPC+NAbo3lKRuZJDGw0Jmfq0gxzD55hKI/CHAaL+Lh8GuymhFn4/xSKbftKXbP8QD4HunS8HX292ju0vEybjF u4/+xP0y EHwvVKORtJhneh0CmHoiwyqcEmWZpHsy3vPV0IFGiofoF0ZFE91JReKYDU7/QI3aCQ8pOsuKeSs1XLbT5wp6aQw5U7msodsK6N5Wk7AtFM5n7y/uMXtiBoGBcEg82AjGc6WqVOFRtEnWtASzMsLavIzmDkAvZmXSNHZOwkxJ+6+MqNOGpmDRwhhsRWBv4EQ1XUfxX+s1XnIcFAMpqL8XNelFrqYlvQuX1Wm+WmwB6fk9A0+KPdhzAkZ2hN4PjrPKYM2LPfVtBSCQhIybyq8Q5Ao7xuguMG3AKzZCL6FFzjy8pnIug5iUdDION0Qn9XuOyw0J6pDV0Scw1rTkkrn1nluCYCwX9IGdYpeKWOxISLXcw0KCq9JArNno03A== 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: From: Samuel Holland Allow architectures to override KASAN_TAG_KERNEL in asm/kasan.h. This is needed on RISC-V, which supports 57-bit virtual addresses and 7-bit pointer tags. For consistency, move the arm64 MTE definition of KASAN_TAG_MIN to asm/kasan.h, since it is also architecture-dependent; RISC-V's equivalent extension is expected to support 7-bit hardware memory tags. Reviewed-by: Andrey Konovalov Signed-off-by: Samuel Holland Signed-off-by: Maciej Wieczor-Retman --- arch/arm64/include/asm/kasan.h | 6 ++++-- arch/arm64/include/asm/uaccess.h | 1 + include/linux/kasan-tags.h | 13 ++++++++----- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/arch/arm64/include/asm/kasan.h b/arch/arm64/include/asm/kasan.h index e1b57c13f8a4..4ab419df8b93 100644 --- a/arch/arm64/include/asm/kasan.h +++ b/arch/arm64/include/asm/kasan.h @@ -6,8 +6,10 @@ #include #include -#include -#include + +#ifdef CONFIG_KASAN_HW_TAGS +#define KASAN_TAG_MIN 0xF0 /* minimum value for random tags */ +#endif #define arch_kasan_set_tag(addr, tag) __tag_set(addr, tag) #define arch_kasan_reset_tag(addr) __tag_reset(addr) diff --git a/arch/arm64/include/asm/uaccess.h b/arch/arm64/include/asm/uaccess.h index 5b91803201ef..f890dadc7b4e 100644 --- a/arch/arm64/include/asm/uaccess.h +++ b/arch/arm64/include/asm/uaccess.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/include/linux/kasan-tags.h b/include/linux/kasan-tags.h index 4f85f562512c..e07c896f95d3 100644 --- a/include/linux/kasan-tags.h +++ b/include/linux/kasan-tags.h @@ -2,13 +2,16 @@ #ifndef _LINUX_KASAN_TAGS_H #define _LINUX_KASAN_TAGS_H +#include + +#ifndef KASAN_TAG_KERNEL #define KASAN_TAG_KERNEL 0xFF /* native kernel pointers tag */ -#define KASAN_TAG_INVALID 0xFE /* inaccessible memory tag */ -#define KASAN_TAG_MAX 0xFD /* maximum value for random tags */ +#endif + +#define KASAN_TAG_INVALID (KASAN_TAG_KERNEL - 1) /* inaccessible memory tag */ +#define KASAN_TAG_MAX (KASAN_TAG_KERNEL - 2) /* maximum value for random tags */ -#ifdef CONFIG_KASAN_HW_TAGS -#define KASAN_TAG_MIN 0xF0 /* minimum value for random tags */ -#else +#ifndef KASAN_TAG_MIN #define KASAN_TAG_MIN 0x00 /* minimum value for random tags */ #endif -- 2.47.1