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 5AC7EC021BE for ; Thu, 27 Feb 2025 12:34:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E858C6B0082; Thu, 27 Feb 2025 07:34:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E5C29280003; Thu, 27 Feb 2025 07:34:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C8743280002; Thu, 27 Feb 2025 07:34:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A7FAC6B0082 for ; Thu, 27 Feb 2025 07:34:26 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D7F991A13EA for ; Thu, 27 Feb 2025 12:34:25 +0000 (UTC) X-FDA: 83165667690.15.1D04D21 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by imf26.hostedemail.com (Postfix) with ESMTP id 2A2C4140062 for ; Thu, 27 Feb 2025 12:34:21 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=PCXPYOgo; spf=pass (imf26.hostedemail.com: domain of maciej.wieczor-retman@intel.com designates 192.198.163.14 as permitted sender) smtp.mailfrom=maciej.wieczor-retman@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740659662; 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=kmOtvO92HoSLW9ObHdGLPiMy2VPSNBV0fjGnVVkX6oA=; b=S2RdwB0gCbO/SMWH0vkoKm9yBn3nyaK9RUCPUF/bn8tvmW3//KmIyW5A81rNTAMWlHXoI7 Ef0DAEQRqGTwA0+bPijZftAKsCTZIbpNR8ZI+5abf8NBeQxjLnulZknM97olLd7oGgqtnH B2zub9B9Swnms20H5/g8HP/ZT03/0sM= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=PCXPYOgo; spf=pass (imf26.hostedemail.com: domain of maciej.wieczor-retman@intel.com designates 192.198.163.14 as permitted sender) smtp.mailfrom=maciej.wieczor-retman@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1740659662; a=rsa-sha256; cv=fail; b=qzfaPWtTxdkDLYaJCJV0I92PEP4jjdwN/HBWZS1yBlipWwSUW1AJuvXqtHxQOTloYFAOj9 6rnzUAYIjQVeSS7j5Fwer5Cp1HHEIU4wevd2p61dhYhOto8UrFn9VjKk67tj82Z7HL0T2Y 8jn6ZETUZf6DrN8F6VFeWI17giP4wKQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1740659662; x=1772195662; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=X9RYHSMZy1Idz3rf2WgoYR5TZZTodynlM2zEa8T6mOk=; b=PCXPYOgoMnVBirYuox5sbDg2IjQF62wC5K33aLHxAbKhimkgIP4g91pa 7hF6Os+jRgk1hHsGTGUNksxF9JUrLQWfIkCpKjawCGQVZSmxZ4jRhCOEY Mi40FWHz3dtF4Qu5WPKXPLlt7yK8ZhNemg5qeluo7MhO/iJnJ/O3FxZbK ej9nvgVEAlTaPFgXSMrCWqWq5yPMPJLqa55wLiIAdwmtvWtdnfUdlWIY+ hcsvcJ9JLn1i7h4F9L/UadSy6SHJ8VXZBQWiwLFLZjtTiWXBOgA/qSqNW S/7yU2Ij07YaIiJE8NFsVbFDm8Iak6n9TGtDCfmYnYzZmjDzFWCtzuQEv g==; X-CSE-ConnectionGUID: nd1/zRo6RMGIPJ4W7WXqqg== X-CSE-MsgGUID: JFCEWkLaQV+HZnT+luTetQ== X-IronPort-AV: E=McAfee;i="6700,10204,11358"; a="41799001" X-IronPort-AV: E=Sophos;i="6.13,319,1732608000"; d="scan'208";a="41799001" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2025 04:28:17 -0800 X-CSE-ConnectionGUID: J4x86Q82Tbei4qYeUkn+0g== X-CSE-MsgGUID: geJEHdd2SFiLr6KApCGudQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="147930528" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmviesa001.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 27 Feb 2025 04:28:15 -0800 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.44; Thu, 27 Feb 2025 04:28:14 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14 via Frontend Transport; Thu, 27 Feb 2025 04:28:14 -0800 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.47) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Thu, 27 Feb 2025 04:28:14 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n+lQlF7vizZfhtwbkO9mzB84NRCLhEReryCw/GHRD0GYaFXJxJ92PJgFtUEK9Dk8dfhNWxj2ps0V4iusn4EjpZMON9pn444aiYhDjh9Bchbjw+cmoo+gqXHgy4lRWtmXWP4OWJH2/3IcWRiZShkGMEJaxfF1VtcB1qhRn75iaJY/zLdmp4rg1audBv8VkSo4HEUwO18LNLkyRNdnbxsZOzmvC6GcnmGGUPfZ58ptFyrPWgGt+owZWek8Gio/xFkTkGwRPLSVGf4/42A925Wvp7DW2cEimcQZsSKBgTeD8RWe75yjEOGwqArWEElp4tAhqZKH5g2qiZt7zKFg4+fc3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kmOtvO92HoSLW9ObHdGLPiMy2VPSNBV0fjGnVVkX6oA=; b=yNVNDuUpiXANjpZNRdFFs/CbOOv5Azn49M+xPfq5jSernrruoiQL4/1fSSGoaCwTAfjqjJt9xw6OfnqncyYwO82mt72mg06WfrfCWabiT07oNk9r98mmrf9YuG8LvQPIGZSQJla0QnWqL7xzsy24Y5ikBoZxhekYzyLsMJCCZ/kJWsq1OaTZHv97BtjZuJf60qkgKMlr89JfSo7OZVTXAWj+5p7wAFSCjjuTy1LK/EnPGYtb3ceURIb6yRvdZYCtwV5aiBM6QrKqNqRzHavCnK5C+9RANqNBYlBEuGTCru9WKLZgJi22n8f93cq355+JfbOdiQqOtk2/9mkd2Wj4YA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MN0PR11MB6231.namprd11.prod.outlook.com (2603:10b6:208:3c4::15) by MW5PR11MB5883.namprd11.prod.outlook.com (2603:10b6:303:19f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.19; Thu, 27 Feb 2025 12:28:10 +0000 Received: from MN0PR11MB6231.namprd11.prod.outlook.com ([fe80::a137:ffd0:97a3:1db4]) by MN0PR11MB6231.namprd11.prod.outlook.com ([fe80::a137:ffd0:97a3:1db4%4]) with mapi id 15.20.8489.018; Thu, 27 Feb 2025 12:28:09 +0000 Date: Thu, 27 Feb 2025 13:27:32 +0100 From: Maciej Wieczor-Retman To: Andrey Konovalov CC: Vitaly Buka , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v2 01/14] kasan: sw_tags: Use arithmetic shift for shadow computation Message-ID: References: <168f775c4587f3a1338271390204a9fe16b150dd.1739866028.git.maciej.wieczor-retman@intel.com> <6wdzi5lszeaycdfjjowrbsnniks35zhatavknktskslwop5fne@uv5wzotu4ri4> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: DBBPR09CA0016.eurprd09.prod.outlook.com (2603:10a6:10:c0::28) To MN0PR11MB6231.namprd11.prod.outlook.com (2603:10b6:208:3c4::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6231:EE_|MW5PR11MB5883:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f6c6504-721c-457d-8535-08dd572a31be X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Qm9EdUFuUHdVcTlvdHh1N3dJU0JxRk9ITTdBYlk3RTF5OFdublo0WmVWM0dm?= =?utf-8?B?N05NZU54N1M1aW5sMmZ2bGtSaVloL1o0UEttQTMvN0xtNDZQKzdpc05GM0h2?= =?utf-8?B?YjJCcGFzUzBoWlRsRU41YTV0WWovZ3h3eHB2WSs1RFdvRDdWNUZPbnNiL0pK?= =?utf-8?B?Sk0yUFlac0xsVDUxeU9TejdseStRMkJ2T2NBb1FDMi91dE1IOGZueEFhUmpI?= =?utf-8?B?L2Y2Q2hhVUE5Yi9DUzhWc0xzV0crN3RsOVU4cW9uWkVnd1NPL2VmdXN1dGUv?= =?utf-8?B?UmJLRVBsUnZyRngxczR0WWlhaDNoQkdBNHY4Vko3YkdrcjFKU0JNYWFFSjJN?= =?utf-8?B?K2wxbWt2bXhCNFVTRC9hZjBCbHdtQ2pVSFc5WTFpcjJwRGwxY0dtNk8xQm5N?= =?utf-8?B?dlRhRm41YkpwSDRWV0EwRFBKWWUvRHlYbjZKcG9vU2tyaE5PK1NTdzZWRUU4?= =?utf-8?B?S1ZMZmRzaXZNNURXT1dZVjRUU3FDMjZvaVhIaUdHTjNGeDgrM3JTZFFLQ3RW?= =?utf-8?B?UWovdmdMakE3KzdWYTYydXJxNGxyVmQzSWw4SnI4WnAzeFBhM3Z5RTduWE9X?= =?utf-8?B?ZExTZDU1Q1M0YTVRcVlMZm9YbXhnSnM2RzJhNER2eDhtbndmdXgzNU80TUF1?= =?utf-8?B?S2J4U095dW5SYzNHMWhFNEdnWTIzVWpITVcybUVxQWllMUpQa3NEczhqeTNE?= =?utf-8?B?K0lTNGIwKzZyb25LcTl0THBUaUdkaXBBZGFyeFM3NzVPWU01cUxLbk5DOE14?= =?utf-8?B?VjNDOFFrMUtrVUNNSWU2NHdsQjlpWEs4OHkxbVRoTnhLOWxhOVVIZEdmL3FL?= =?utf-8?B?ZUFLRk43eTJ6L3RHRVZzOVZUZ1VsZFdJbW9QV2hxQ1V5NmpScUdHekprY1Y1?= =?utf-8?B?RDRVREVrR3FoWWRROFU3VGZGSGVHK2VESGM2a01qRHpQdU9RajFoeE1iaWtG?= =?utf-8?B?ZjhiVmkvUDMwZ3pHUlFZRHRKRmV6TTZvYmZhWUhPUjBEMFcwSDJvQ1NCOHRI?= =?utf-8?B?dWc5QXhQNlFIRGJDVkhFLzZ0UHZRN1RjYTh0RWdLZkIyWVhEUzNhTm1QT3Zx?= =?utf-8?B?Z3hqZU4remJUYlloUUNGWmpUYyt2T3hGem5LVjZWU3c1ckQ5Vm1jOUhIekJq?= =?utf-8?B?Q1FMWlBTNndZaEtmSXJJdFNLSGJSVnlRWWZmVlFxbDZKOHhHSXFzQXpMV3Uw?= =?utf-8?B?L3JaandLUS9hMHNhWHdWUWxvdVQ5WWFBcFhzU1VTSmZ1UzFKK0RMWjM5bmFy?= =?utf-8?B?b1VLVk03clo3WVpkemUyU3hNTHRPUEQyN3NRTnBGaXZ4MDFXbURXb3NCWUZY?= =?utf-8?B?TTJBQkRQYm1LSFdTUndmNEhDS2FZVytWeTdQV0xJWEs2UTJuc3kwbHBrZGFt?= =?utf-8?B?NDBGQ1hFVUxtcU52SW5KMmJRL1MybTZxenVFcjVpYXg2ZGg2dGlPdGtHRC9E?= =?utf-8?B?TnBrS0dFNHpLT0NIZVRmUFNWSlZyaUd0L2ZvSEg1RnRsZU5oWW51ZDFMa2ZV?= =?utf-8?B?dGYwdk13cjNweHhKNVNZS3RjWGx1blZsak96am1DQkdEK3JOS0VyTXhDdW5N?= =?utf-8?B?clpISWJ6NmxIMThwbnRJbFFGbzZVODRINmVDK3hNT29zSGxiS01tQVZyRkl2?= =?utf-8?B?VDJwRmVJMGxqWnNRRzhETm1NQmN0YmhDNGVoMGY2c0VGMVd6dnFPVFE2K0wz?= =?utf-8?B?ZjJVdm5rOVYzUERDZ3lYcnhKT1hhM2RMeHBSZW5NMStGLzZiN0JQcE1wQzVj?= =?utf-8?B?Ry94R1hQVlE4cHF1U3MwNGFZOHhVV1d5S3ZuUzB2dEdYbUcvUi9oeWM2WWpm?= =?utf-8?B?THVCVHZuYjI5aGhmSWNjYUJyYWFBdTAvRWJpUjcybGg1QWZMTXkwVVdjazFj?= =?utf-8?Q?Q8jSDSWlfL0wt?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN0PR11MB6231.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SlRKNnpZMlZNM1pucHZCc3hhODBoSldzVHJTcEpsaExmOVViUGkrc0pGNDVZ?= =?utf-8?B?Um1hWnhsV0QyVnBoRXBDaU5VQWs5aVROVEdudk1kS1IxQ05oeDZ3bkM3ZERO?= =?utf-8?B?aCtLNUVxNUQrb0Voc3lCUFN1amdlSm5NcFRqUjI2TUFxNWRrR3hRc2loS0lx?= =?utf-8?B?djdyL1B4MnBOV0ZYdkU4d1RBMHRyM2RWU0tmTU9PUTFaZFpBMTJjYzh1a3lT?= =?utf-8?B?elZENXdsL0xWS2dnekJCRnhZelNacGZDZThZTWFnTzUwNjhpZEY4SktxeFN1?= =?utf-8?B?WDVJT3BmeWRlcUdIOWN3WUlrVkV2T0U2QzVNYzZpMkRoU1pEYUFscEpGVmtt?= =?utf-8?B?Ly9pUFF2a2t2WTJKeERSK3B4aG1qNnY2V0lOZ0RiR0RodFdySjkvVFByZG9p?= =?utf-8?B?MlhjejdmTXU0RFREcDRETHRvais3WTFPU3hxZ0UwWmRKUWljQzZ4Kyt3Y2Uy?= =?utf-8?B?b3RuNFlQNnM2Q1VPYkFkWWEzRjE4MExPUTdnTGk1WGlzbEJwbkF2Ti9YRWo0?= =?utf-8?B?RTlFWmRFeFloMitycG5yUHlqZm9MYkhac3cxZis3MmpPbG8rUFgzWk80YnZu?= =?utf-8?B?M1N2VGNsL1hJL1pTVVdsTDJ6eVY2WVdEMU9tQjJXcWYxSmxTU1R2bmdGbDZK?= =?utf-8?B?QlNGL2IzbzA1MUxFdDVaZk5yckNPdmtNWkRUemRuTnI2Q0pJVDlMdHY4em5a?= =?utf-8?B?dStHSnU5S3F2blZqR0N6RFJWQkZ6b3d2MUgxRy9wV3JPQkFXNFF0QUxXLzBZ?= =?utf-8?B?eW11ZGd3STZhRnMwcjZ1eE1pSks5UW5pMGVoYzk5Zk42NWdXdzcyZ0RBbWpK?= =?utf-8?B?ZDJiQXBvY2RCVFpPY0NuTSs1NzlHd0cwRGlsRjg3cXN1ZjJVNW01WDI5SWVE?= =?utf-8?B?dTJlQXFQcEY2YXFUZ0lWYXNrMWwyZ24rb1NPV3MyUm5vUHRFdFVBbW1xT21X?= =?utf-8?B?YzJ6WUlydS90OTJFcEhMcFVDZTg3U2M2bGxuUlVjdDlXTFkxN3JSd3ZuQlM0?= =?utf-8?B?WEdaOE4xa2FUeUR3U1I1WElVUmRwSGM2QkpQTDdUSDd3L00wZmNEeTJ5QWpB?= =?utf-8?B?NjVRYW83aHVjZ1owK2FjR2UwV1ArWUR0d1N4MzZrV21yTitkM3NIWkZ3NFZp?= =?utf-8?B?MkliVzczaExnaXZ6ZFdUL1dvdU1QOHdULy9MTDBNL3BFSTlZODJ4S3k4UDF1?= =?utf-8?B?TFQ0blA5bnJTZWh2QnBVM1NscUNjQ2MxNUlHNjRpT29YcGNEL3NLRWJXVGtF?= =?utf-8?B?dUIwZDdscC9zU1FqcjRpaE53aEhPYWZtMnVkSlh2a0FZeWpna0hwaXZWR2hK?= =?utf-8?B?ZzE5bWhhOUh2TWF2L3g5M0RsZzd2aXh1eTNDQVNON2JOd2JHQ3lreU9nQ091?= =?utf-8?B?cCsrNmJTSFRjaHBvcUpKaExBdFZGZitqbmpkVys5VHdVTWdyUXlYL1Frdkky?= =?utf-8?B?N3VYTXVaQjkzazZlSGt6Q1lEYk01L1ROWGNqNmFWR09RUkJEd29sM3RTamVv?= =?utf-8?B?UW53enNtZXlONWlVSHpsVnpkQmdGc0xUMFUxcjBKSGphT2VyN0V6eGlYSDZU?= =?utf-8?B?aVQ0ZG1WVFl4YWVuYURFYmk1MDJZdmU5clBpWmRaVjhkWjFkV3NXRkdmTitM?= =?utf-8?B?YVFQMHN1Q3IvZjdpOWhGd1FIQXZSK08zYWticzM3aWZCSTMreXhmaTJMbW9u?= =?utf-8?B?QUltTE1Lb0Z3UU95UzZNYnlFNS9ZTGE1SVF0ZUlhekt0ZVBMSURQWWtkZy9X?= =?utf-8?B?bUhNc0VoeUEzelZLS0s0ajczUWMzbmdjSmhOSU9RMElJenhSQmtWNndzSlBh?= =?utf-8?B?VUpBak9wQmZibFZuYWpnVkxrcnVDY2phNUMySGI5VzFIVmYwS2tDUmtTK0ZM?= =?utf-8?B?NWRvekpFei82aVNLcnZQQURnNnRkSDVyYkM0Tk94V0hlbW5SU3VMU1JwRTZl?= =?utf-8?B?QnJJK09lNG5xWUU3NHlTRVowR3VhZXowdUZFTS9rSXRhWFhBM2k0V2dwSWhz?= =?utf-8?B?RjV5NEQ5Si9aRW5XbWNaMUYzdU5SQk9ib3BVL2EzSTU4OFF0TmRsOTV0ZVpY?= =?utf-8?B?Wmxrdm82V3Jib2sxOUhPUHZzblE1RG4wZzZNQ3VuSjNWYkhjREVIdmJiRGFO?= =?utf-8?B?WlpJUFVIczNQelBwVkg4VDFUTU1sejZ1OFF3Qnc2RElDcU5NcW9IOHd0V0lQ?= =?utf-8?Q?+NCr+39R9CAL+Zw2mMI1alI=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 6f6c6504-721c-457d-8535-08dd572a31be X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6231.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2025 12:28:09.4185 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: V4ZXI0Ec0xKODwFQGjroFzjrUAyJ1L/wReirYosMs4CcBtBlIK+dkUHluC43sgixU/qejtiZdVQSY+QgCRfJ3FOaHAZNHGgkwo/YGztQJAw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR11MB5883 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 2A2C4140062 X-Stat-Signature: ema4i94b7mxrawkesf8oeb6p4nsiqrkp X-HE-Tag: 1740659661-372906 X-HE-Meta: U2FsdGVkX18vdWMKYp+sPbMGxNssF9JXx36PVrs24ACD/ZDJIUF5Uf6ZHP6l2X3AtNdXKFXjLwyPho93MJLamG2LyCxFrNuqkTCyqREY93obMG3jwo8/TYnh++84n08mCdi274A+JNUuPzOL1Zf/BT4QEgad2WUTOZMdKwuvhBUDv9dXObvASlVh798/xPNiNAI+Y5TtMblWjsgHtmRkg7KyPFGSNOT75sVVh547m5eMgEJN6kPhZT4HUAkwnR0XtW8iJfCBWaR4sVVQS6DrzR9vyIGjmJaQxDza8lGvuJ2eHDX5js/XFjt+7H36W+fMVYKOMkXhnfI+x9YhwouS9J8UK2tIDeXJkPYokbvzu7rv8hE2h9V7X2pyGHIYqh6q43180pH15N/TAza9LoDkIJFros3fOK06k8p67CnYtOldng6W5kagWLxu7fkIwWTd9M8Qbo+EBELfZCC4+imU947FKKSggdVCWPv6C+7I+sen9c7BTCvMYQq7V5ElA/kKVsX3afViNWREKz6OO6JL5XEDzek4gAuZVXzE/q9nKemMczqNp0PCCnm1s26ukHTtIOg+KfA3SP8ivNyTRAe4LEjOXCaODd1sTZ8W6CFMb6XGS7maW98/fpy7KNG41KvnR5VEyHvXs/jDReOuNWuO04DLd1MVL+aN89t65ewvg711RtjsWL5VOVj0ccWPSW6P6r/5W0EJjipkv8lqDjcbwaFfu9+HtpY+K5AJNOUapBs3FlzdgqMiHsRsMC16Q6orOvVbk2gAxFZEwe/dsN58F/22BKyr1NmcboPRupzTZYdm74D3SSEJkD/Nj/apRAN2+eFDSVrx+GdWjYbyaFG/PEGSfC+X0an2cjM2rx6+WyuNaFvn5EWJ2RKtxquQZNlXk0P+j8oysalm8Wj3oxkVnHu6RixCRUN7WmKzA8dPHNZHC0DoG151zKnCPH5SZ0+htFy/qaFPFJ44g7MoQBT wwU3eLu2 BUrjrSOimWZQtEfYDrlUvC2H+cFAj9kIh6EBUaoN7R5DHPmSK9fwRRvOaQV8O+dQA6JO/63QBaA+abROIi1Qeub5p+v7pbHk/4EUWMGXoCzVOR5WrK1xtmu/RVdbvWz4v7/1Y/e5vBYcYfAV+RR0Y+mShSIL3vI0DyVvDgUdgndwq26I8ctagow93R+JwMDNZEZJkiwZfsd/y9mnzH+We1ysdsx3efZpIwIlF/equbxV+zuBVkw30ExUTNTF/r4N1dzjh66qEro7nG497nObW0JRV6bF2z+UPcL+3Oy/R+mQMnu3V45INHRlI4QPB6uawQfT9Vz6xrRe2XdUDaZNPLaxtYDWhuwAhqnmOtuy2Rg5gIGejELA1aXtmoN6y0b2iJbnkXArd+v1MJopSM9IPUtXrgPQS4XaKCfU3yExvbVkz7jW7cX961YSorlu2EkC2Y0Ww/d0GZigGfRThBZ4yBtYAJMu7r0n/tWfJDKpXrXcI4vv057YnAOK7Lx9Y+52c6y+n+kwmBtrpiaQe9okfrmz86uxiypQPF7haw9c5MUgIWvrX9i5LrKgsvCycF+bSBVnQu27qOSbAtxEYm0pa39f7YQ== 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 2025-02-26 at 20:44:35 +0100, Andrey Konovalov wrote: >On Wed, Feb 26, 2025 at 5:43 PM Maciej Wieczor-Retman > wrote: >> >> >What value can bit 63 and take for _valid kernel_ pointers (on which >> >KASAN is intended to operate)? If it is always 1, we could arguably >> >change the compiler to do | 0xFE for CompileKernel. Which would leave >> >us with only one region to check: [0xfe00000000000000, >> >0xffffffffffffffff]. But I don't know whether changing the compiler >> >makes sense: it technically does as instructed by the LAM spec. >> >(Vitaly, any thoughts? For context: we are discussing how to check >> >whether a pointer can be a result of a memory-to-shadow mapping >> >applied to a potentially invalid pointer in kernel HWASAN.) >> >> With LAM, valid pointers need to have bits 63 and 56 equal for 5 level paging >> and bits 63 and 47 equal for 4 level paging. Both set for kernel addresses and >> both clear for user addresses. > >Ah, OK. Then I guess we could even change to compiler to do | 0xFF, >same as arm. But I don't know if this makes sense. I guess it wouldn't be resetting the tag anymore, just some agreed upon set of bits. If this argument is just for the non_canonical_hook() purposes I suppose we can leave it as is and check the two ranges in the kernel. > >> >With the way the compiler works right now, for the perfectly precise >> >check, I think we need to check 2 ranges: [0xfe00000000000000, >> >0xffffffffffffffff] for when bit 63 is set (of a potentially-invalid >> >pointer to which memory-to-shadow mapping is to be applied) and >> >[0x7e00000000000000, 0x7fffffffffffffff] for when bit 63 is reset. Bit >> >56 ranges through [0, 1] in both cases. >> > >> >However, in these patches, you use only bits [60:57]. The compiler is >> >not aware of this, so it still sets bits [62:57], and we end up with >> >the same two ranges. But in the KASAN code, you only set bits [60:57], >> >and thus we can end up with 8 potential ranges (2 possible values for >> >each of the top 3 bits), which gets complicated. So checking only one >> >range that covers all of them seems to be reasonable for simplicity >> >even though not entirely precise. And yes, [0x1e00000000000000, >> >0xffffffffffffffff] looks like the what we need. >> >> Aren't the 2 ranges you mentioned in the previous paragraph still valid, no >> matter what bits the __tag_set() function uses? I mean bits 62:57 are still >> reset by the compiler so bits 62:61 still won't matter. For example addresses >> 0x1e00000000000000 and 0x3e00000000000000 will resolve to the same thing after >> the compiler is done with them right? > >Ah, yes, you're right, it's the same 2 ranges. > >I was thinking about the outline instrumentation mode, where the >shadow address would be calculated based on resetting only bits >[60:57]. But then there we have a addr_has_metadata() check in >kasan_check_range(), so KASAN should not try to deference a bad shadow >address and thus should not reach kasan_non_canonical_hook() anyway. Okay, so I guess we should do the same check for both arm64 and x86 right? (and risc-v in the future). Just use the wider range - in this case the 2 ranges that x86 needs. Then it could look something like: // 0xffffffffffffffff maps just below the shadow offset if (addr > KASAN_SHADOW_OFFSET || // and check below the most negative address (addr < kasan_mem_to_shadow(0xFE << 56) && // biggest positive address that overflows so check both above it addr > kasan_mem_to_shadow(~0UL >> 1)) || // smallest positive address but will overflow so check addresses below it addr < kasan_mem_to_shadow(0x7E << 56)) return so first two lines deal with the first range, and the next two lines deal with the second one. Or do you want me to make this part of non_canonical_hook() arch specific for maximum accuracy? -- Kind regards Maciej Wieczór-Retman