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 06D6EC35FF3 for ; Mon, 17 Mar 2025 09:44:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B4514280002; Mon, 17 Mar 2025 05:44:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ACD86280001; Mon, 17 Mar 2025 05:44:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D1F0280002; Mon, 17 Mar 2025 05:44:20 -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 6CD37280001 for ; Mon, 17 Mar 2025 05:44:20 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B9EFF161B66 for ; Mon, 17 Mar 2025 09:44:21 +0000 (UTC) X-FDA: 83230557522.23.D47A9EB Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21]) by imf08.hostedemail.com (Postfix) with ESMTP id 987D5160013 for ; Mon, 17 Mar 2025 09:44:17 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=KTZyQ2zV; spf=pass (imf08.hostedemail.com: domain of przemyslaw.kitszel@intel.com designates 198.175.65.21 as permitted sender) smtp.mailfrom=przemyslaw.kitszel@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742204658; 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=6bS8iTv980FYwLHrxGbtm3n1V8CqRErYHmDLcc5bH7o=; b=d2zQIHbg5Yv1XNL1ziNY7n2b+8vMrhrq1qxGtoZ0ZKIbF/FkGOkkdcypq8TEtAXD6Uk8HR wqxmux0Fhh7BmlwBonXoIx72ndNKtqti7ES+hzDSNzKAAldIN1aMf29/tXKmigOjwdmqck Oog009LrayGsxAS6Kv0PhR3qFNEb2vE= ARC-Authentication-Results: i=2; imf08.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=KTZyQ2zV; spf=pass (imf08.hostedemail.com: domain of przemyslaw.kitszel@intel.com designates 198.175.65.21 as permitted sender) smtp.mailfrom=przemyslaw.kitszel@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1742204658; a=rsa-sha256; cv=fail; b=RFtS9kbHFE9h1EOqKiMcsmT0evtc/mNgRebRM5mFgNcv835EoqX9f2GiXds+sjzegzRFih M3kt1Q5dddlUH/u5JlR/vzhnNHgEQ1E0Zb3nymyyVa0d6EOzbp/qrjmva9wicnnYWIM5CZ /1xvcrb+YVwXQnUQ/1he3SGRKvL5DJg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1742204657; x=1773740657; h=message-id:date:subject:from:to:cc:references: in-reply-to:content-transfer-encoding:mime-version; bh=r04hmNhJ3fG9IxEC+seTB8MgOJyPJ67Oxlsaj+KCmts=; b=KTZyQ2zV/PUW5LcSNNEDRPfGmECuDmi7mh3K2Osa6enueuqL/mhGejn9 J7NlMJ84OH8fhhs0xaR3K4N5N1l2ZqYwCKg3ssmamqKzDgJHbpP7pnK1Q 5Eg9RT69u7p6l5pH15KdXeEncd8RCyeTrl6E4H9lJ4q5OUJikJfsnBIZe EXV7p80bET4pGZq32f1EVvuxKzOmwXs+M7O8m/64s57VUy8s54t7LdcjL 8CwXjcS924B7zYvNoxbBDQlxK7sVWhMQ6lYwPbh981HImB/m0IFt1k4+G jvROR6i+bl61RKt6BbGFZTjvGIs1RCiHelfj3N7r9GrP9AYMzz3cRH4yQ w==; X-CSE-ConnectionGUID: 7C52HSljTuya1q7i5qEslw== X-CSE-MsgGUID: IfT6Nr7RT1Kvif+f0c5V9Q== X-IronPort-AV: E=McAfee;i="6700,10204,11375"; a="43200010" X-IronPort-AV: E=Sophos;i="6.14,253,1736841600"; d="scan'208";a="43200010" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2025 02:44:16 -0700 X-CSE-ConnectionGUID: bvX8WtMCTzCVQ5yzqKEdNw== X-CSE-MsgGUID: oq3/OUWiSUOAbTA/4gBfQg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.14,253,1736841600"; d="scan'208";a="126086224" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by fmviesa003.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2025 02:44:15 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Mon, 17 Mar 2025 02:44:14 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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; Mon, 17 Mar 2025 02:44:14 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.44; Mon, 17 Mar 2025 02:44:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QfPimYR+gsBvRAtAGRQj2gzoA10VrUm1S9wwlkbT3CaX/JcKCF72yKoipOQCDD3IENAGDJgZZTp1/g3obwR+IgvjllSGkOpkQBXrT9kUISj+Lw43XNA5esizst79tw7pbX8LOpohVQ6Wu7hk/UkiDS0dqiAPlnojEI92jH6W3ibrG80cLNYmBGA0LqW3LwaZgYtE5XYzVAxGWX4v7eLANhQft1/GKBz+cNPAuiC2rVCf62W4oI5uv5y9bsgmKPPXykkqIhgTc84BFqGi+Y9R+U9ZqblXgPFwlRIZDrbhQv005kh/K4RVkwqgKW71aLZ4//2VC5m3r+aDzsnmHFeUVQ== 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=6bS8iTv980FYwLHrxGbtm3n1V8CqRErYHmDLcc5bH7o=; b=En4/S0kjpTqriiDLOStSuTt74++dsZJpjxyNJxOpSgHTVslcXjLYw2GZCmta7Sr3nRzFrcRaENdIuwQjSMWa5bEwDoHSxaWJJ7pOVloSiENLForDxfiL5RSGDeC0ARuoREJ0UPzCtPtrwSXcf2yrRDAjeALzRyAlfJePaj4KEKkPRpYF0Kv8GLlYA9NgEwylN7EwaB5/sDldEETywwF5V5F5O9hrLLw7zHs4ni3BojBnEuZ/Ry6JxKaUDiZ+/kq72FHNnJXiyb34APgvTR87Lig0RBOQ1SlIUYbID0mjmTL+58m5SpkbN92k1a8S3ORq2Xz7YMQq151nXUcTEY0VlQ== 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 MN6PR11MB8102.namprd11.prod.outlook.com (2603:10b6:208:46d::9) by CH2PR11MB8779.namprd11.prod.outlook.com (2603:10b6:610:285::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Mon, 17 Mar 2025 09:43:47 +0000 Received: from MN6PR11MB8102.namprd11.prod.outlook.com ([fe80::15b2:ee05:2ae7:cfd6]) by MN6PR11MB8102.namprd11.prod.outlook.com ([fe80::15b2:ee05:2ae7:cfd6%5]) with mapi id 15.20.8534.031; Mon, 17 Mar 2025 09:43:47 +0000 Message-ID: <44a00ad4-b05d-4fb8-87f2-fccbaa068872@intel.com> Date: Mon, 17 Mar 2025 10:43:38 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 1/2] compiler_types: Introduce __flex_counter() and family From: Przemek Kitszel To: Kees Cook CC: Vlastimil Babka , Miguel Ojeda , "Gustavo A. R. Silva" , Nathan Chancellor , Peter Zijlstra , Nick Desaulniers , Marco Elver , , Christoph Lameter , "Pekka Enberg" , David Rientjes , "Joonsoo Kim" , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Bill Wendling , Justin Stitt , Jann Horn , Linus Torvalds , Greg Kroah-Hartman , Sasha Levin , "Jonathan Corbet" , Jakub Kicinski , Yafang Shao , Tony Ambardar , "Alexander Lobakin" , Jan Hendrik Farr , Alexander Potapenko , , , , References: <20250315025852.it.568-kees@kernel.org> <20250315031550.473587-1-kees@kernel.org> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: VI1P194CA0044.EURP194.PROD.OUTLOOK.COM (2603:10a6:803:3c::33) To MN6PR11MB8102.namprd11.prod.outlook.com (2603:10b6:208:46d::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN6PR11MB8102:EE_|CH2PR11MB8779:EE_ X-MS-Office365-Filtering-Correlation-Id: d998fcd7-a801-45fb-528b-08dd65383737 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?T1BVWGdaSWFwSXhpQjlDRllEVVdWMzdSUEUzZW83ODRoNWtBQitIRWNCd2VU?= =?utf-8?B?WEQ1VldUT0xVdEtEWjJibXkzYjdISWxyT01GN24wNW1KYVp6Z0xnSVJmbGRi?= =?utf-8?B?MExmZEpEUVh1YjY0RVQ2bUthV2s5OWtpM0xJWVN4K2psTkkzZDZZVy9OTUYx?= =?utf-8?B?aHAzdll4Nm0wWDJ4eGdKd1A4OFh5ZytlOTZGUmJkcGRVblJ6ZUhUUVpjK2Z6?= =?utf-8?B?U2JIR3BTRGxOOHFITE1CRENjdkpNc3diQk0xNFI5L3J1UW00Z0Z4cXZDS0tr?= =?utf-8?B?M280U1VCNWhxYVZ5N0hlbERtdnBKUmVpT3N0VGJBQXRvODh4aElWTjBlcXdw?= =?utf-8?B?M0Yzc1JSbGtXYXpoOHpJd09HQitqT1NJQmJMdjNEZUs1TmJmdmxKTTREUzNZ?= =?utf-8?B?TEpKcytwWlU2aUdMWjU1SkxVTVAzcnBxQVpHRGpneWZuS1AvRlp2L0hRUW9N?= =?utf-8?B?STRmT1lZbG5Ea3luUE1uNnZKQW1EY3NVQjcvNWphc2VrbnFzVVdZK2MrOXpx?= =?utf-8?B?SnVQUkVnS01yNFU1eHcrRmxKVEJ1M3IvSmhRb0xVazRNY0FEYjJ5TDhMYVRB?= =?utf-8?B?M2gxcm92QzU5cGxCbS9RblE1cjBkejljSUtPTVc0ZTZMRm5ubzR2ZDZBSnZZ?= =?utf-8?B?SVJFTEg3RXhMUm9HNmdOQzg3QmZZWi9pSWxuUDNOczlIRnRDaEpIUWtxT0I5?= =?utf-8?B?dUtTeEdLZmVsTWtEY2pBbS9WMktqdXpKNkl4SDZHREo4Mi8zSzZMamUzcll6?= =?utf-8?B?K1NLRll4cDF1bjA3VVgweWEybjExbFRpWVhuQldFWlI4Zmpsczg4eVlXNlRF?= =?utf-8?B?SHJTb1UzbldjUVdHeHhqcWo2Y2RKQnhGVUZMd1MyRlVMZzZRV0hBSlhOTkF5?= =?utf-8?B?Qzd3cUVka1VBNmZTTkZIM1lWZEFmRzRyYzk1RmFqQjE5SGtxVVlJUWh1N3dS?= =?utf-8?B?clhjZ1FPcXpmZFJTZWg3U2k1MUJ1Q3hhckoxY3Q3K3l0ZnE2RmgyUFMrYmVC?= =?utf-8?B?TmR1R2xTaCtKM2MyTUFta01GazNPcnZSdk15eWphQTEwbGFaNmZ0QmkrOHVK?= =?utf-8?B?Y2tnMnhUNjdFZ0loMXpJdWx2OWRzVC9oOWEveEloM29NeXk1em50V1RzbDJO?= =?utf-8?B?T3dQL01OUkNJeS9Ua1hoTVlHaGt3WjNyWmVUeHBHdHhUUmF5WmVnLzhYOGhZ?= =?utf-8?B?Z1VmWHRLNi9ERXYxbWw1d1NaQU16WDgxT0cwWjU1Z2QzeExDTHp6SHRXYkdz?= =?utf-8?B?M2hmRzFXZWQrZm1RVkgrRFFlZFlQckVDOU9hbTQ4T3djV2hBTzc4cGZ0S2J0?= =?utf-8?B?cVFmTmJZbU1QS2swaXc3VDJhczMycENhVGtySjJCN0F0ZFNHOHBpMS94ZTQ2?= =?utf-8?B?NXROd3lUVzJjYThRdzBEZzA3UndGcndyaG5vMEtIQ2c5MW5oaUs3bFRUempE?= =?utf-8?B?K3BkamZxUzQ4RlVCWUtGZnNxTzNzMmVWOGMxaStjWFBXOTZWVUR0dmN2VThk?= =?utf-8?B?ZHVhUU1Xc0dCeGtNYVVvOWp4S3NKRVNvamtzWGFKU2pTSFlZdTZhRHE2RkhN?= =?utf-8?B?MHk1SUhxR1BISWtkVmY4VWFtLzNKakRWT291OGxvdHppM3I2SktSbWZDRFRV?= =?utf-8?B?RU1TMWNSU2RvbFRqcmJ3MmRFNEtGcVAvQ0RpWmNiUEhNcnpoNWt5SU1LSnc5?= =?utf-8?B?M2xmdi82Y3IyRXhsS1hhL1E0Q3YvY0pISi9LR3dpMCtUTjZZTEdtQ3ZDTU4x?= =?utf-8?B?UTlpZElpMkIzZGtCdlZXeXNpNXdRaWlYSG1WcTFwSTFQUGY2ZDR1eUo5SktZ?= =?utf-8?B?QVJMekR0Z3ZsNkFnUjJVZ0pmZWtVK25XcjBVWkRqNkNIWnFMcnU1aHh1SnJh?= =?utf-8?Q?PbFlVFMOt6ndH?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8102.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TkpSS1lxU2pWSXoyYVJ1YjVMaVBibk42czNvdktQQkQ5UlVud1I4M01DVmEz?= =?utf-8?B?S1FaZmRXYUhIQ01NMittQmV5VDFJMUVEZE5xOEp5c0NKb0U3c1BKOFErQ2NR?= =?utf-8?B?Rmo4YndxRTRxNFRZYUIzRVZ3NEk3Z0haWXJDdzV3aWxIK2xicWszUWlwSVRL?= =?utf-8?B?am9VUzNnRFo0MlI3aDM0eFhnZWd0Nit1b3NFdkRGdXhPTXpuOGxTV1FqTjcr?= =?utf-8?B?Z0pIdjk2RGkrMDM2ajRwMHgrWGNNc1JaMm1XaEdVK05sM3ZjcDBEQkM4Ry9w?= =?utf-8?B?dkFVVFlRTDNLUlV2aWRJRWJIa2lMVkxHSVBOaU0xbUcrTEV4RFFQMHFscWlU?= =?utf-8?B?WTJqYS9VQjBnZkdRRHhZVXp0MjRPZ1IzMk1UZVBBNzk1K29ueFozYy9VeXBk?= =?utf-8?B?TVFIaDBtK0hXa0NQaU04SmxocHVIdnMwSkh1bW1oUSt6Nm42R0ZVREptVzZQ?= =?utf-8?B?RnFERGU4OUhKdGp5NHNzV1gzUUZQeWFKZS95VmwwNVpaL2lxSU1RVys5YTJW?= =?utf-8?B?RUN6U3o1SjllZklGNUxxSHhlN2lNMnpqbWZ4M0dQMUR5RHVUOWN3OE5JS2ND?= =?utf-8?B?WkNwNHVYNHZrcG90YytIbitvV20yTW0vM0ViR2IyamhTMUUyNUhLbG80UTFj?= =?utf-8?B?akZjTlZnMEsxMWR3YVFZSnl4Tm1sOVVWMzBTdEE1MGFzcitENGRnbGhkZ0xm?= =?utf-8?B?U0pObnpWMnIvV0JIKzVMOWVkVVg5U0M3cGpNcTI4Q0VWeTJlaEp6Qnp6N0J6?= =?utf-8?B?djZjTDIzZHE4Tjl4dlpnaU00R1kvbk9SWmwxaThDSWQ2S0pRY1laT0xzeE82?= =?utf-8?B?NzlKTlJRQ2U2UDN3d1ZtL3RpV3lKZ1FXMXBOZWhEL2pzM3ROaG1URVdzM2c4?= =?utf-8?B?bW5WcWlXQ25oOEp3VUVlVFRZRm5yaEd2S3pWRzZ2N1ZiN0ViUXlMQW1SaTFE?= =?utf-8?B?OFNMcUwxQnhPUlhoMFQ3dGlsVTc3NmZBNjhSTUZKN1g5K1BiOE04dGkvR25n?= =?utf-8?B?VTMxNXFJUTNzcWp6SjU4RVR4eWI0T2ZnZ3Y0UFovbFNNYlJmeko1VmFLQ0wx?= =?utf-8?B?YWZWY0VNT1Y2d1BPczJRZGQ4OUREdzRPT2lEMmVROFNiOU9qMzg0VzNkalBU?= =?utf-8?B?Yzk2OWZPeWlnUlMxMlQ4SEt3eG16Y2hPaFdWR1FLOVBaRjRiemFkRHlPV1hi?= =?utf-8?B?d3ZSZ0pDM3piTm9UOGlOVEJ1RFBHM0JIR2Y4MEZaTWZ3bjFQMEdZTHcwWnVT?= =?utf-8?B?eUtoY2hQZ3M4ZnBzWlg5d3BYWFliSFlaTzFGMXVKcUZlNGg5UXdzZ1pGZzVj?= =?utf-8?B?VjlJNmQvMGdoc0JnSFRyUWc2bGdOT1VDUGx5Z3pRU3dFYnZ5Yk9FSXJGY3JF?= =?utf-8?B?b2hXc1BSOGJ2MFpodi94eEhtZ1pXaHk2R3ZNeUl0K0doa2wrZkV2KzQ2Q2JB?= =?utf-8?B?YlFkdFp2Uk5TV0hCU0RLRnZDbEFHWDl6ZDRkK0pla09RZjc3RjUrZ0xSYnVl?= =?utf-8?B?RE5HTXlLdThVcUhtdmZLUWNmZnlKZHphRy82NzlEVmg3aXBMbitIU2VsRW81?= =?utf-8?B?STQxSzU4bU0vaTY2S2krbUE0b0hDZmRVSmxRcHNHNmhMWXEreDh4MGl5TWdW?= =?utf-8?B?NXZWZnIrelRhTnJjbnIvcEw4b1NsTGFhd1JtSkRQOFlLYU5XaVV4VzdvTGpj?= =?utf-8?B?bFB4dXQ2aGZLZGUwWWJpUnJZa3F3aU9XNFNDb3U0dUQ2dFRmd1dvRGFsVTRD?= =?utf-8?B?d3ZkRHFVc0l1bzZJZHpvT3VSdmNxTXRGMnlTWWFobmJndk9zV1FnNDQ1ZVVT?= =?utf-8?B?aUtiV3l1d1lvdzNrNzQ5Z1ZTanIweTQ1V0ZaeDJVcnZha2NaZzN4Uk5zcUNr?= =?utf-8?B?ekdaZXl6cGhNVXZrOVdXWUpLa282UWtSeDlnRkYvTU85bEdCWGtkUDJYcUx1?= =?utf-8?B?cVBocDRVN1VwV3ByLyttYmtJMWVsMWxOQlhKbUpGR1pmemY5SFA2TmdLSGNS?= =?utf-8?B?d2J3RmlaclV4b2JCSXBadzEzcFBHN0c4YUZ3UE1ZK1VEMVByZkc2OHlZWFBa?= =?utf-8?B?MFN1MFhLM2RLSjFDNHN4QmZKdm1LYTBhYXVvYTdjUGtBTGJUM1grbG1SWkFO?= =?utf-8?B?cWxFUWhQaFQ3ZUNYeFA1cDcyRmZWQTNJeFJUekNoR0VuQTRpanVVdzR5U2pK?= =?utf-8?B?NVE9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: d998fcd7-a801-45fb-528b-08dd65383737 X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8102.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2025 09:43:47.6467 (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: O3CwnATE0k+Uzo5LlLe9bTSMJg3v3cb42Yl0b+fgq2rnlWASqQViXOBK46hmG6tWm4w27KV3VO7P3XY26WSz0CJPxTMaitRL8hghIzVns4s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR11MB8779 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 987D5160013 X-Stat-Signature: kua4qjhryc4x6nxgxhy9eupeb4peds4b X-HE-Tag: 1742204657-777324 X-HE-Meta: U2FsdGVkX1+YxFtC9cBx3MNjbn2zFf4AD7OzJHPwFl2eosP5Z6JKzdzJz8q05SCmorYN1C+bSnojSZKWtRd7SPjm8PPS8bfXPa3x6SAluBpuH3Odz+KISxGZ8MUYc93u/yuMc30BG4UjX1Z5x8Tijvfa+YZyOepCaSWMM8m/nvp9yhwHQTcdut6MCACJuTuneWzZILClWw/oz4dh4r1orRpWXc8QLTPhrexSSOhue0Hbow6PjBXIld0doPGptxmSx1U/xO/AFa2pEo50oPeIHdy+dIsZLt+v99/jSRjUd7M0ZTIJTb5fpI3I8RcT9RLDgACbXRwVJ8bql0kBCvdOtFe/Zny56UcY8f1AXPpnZcjtkyDIUlpSWkZ+55+9RvQG6o9doozmJXE/rrC3+CS1p8i75xkT1w6PLxlRweF/jvLx6a8+iM1APKK7rS4qCcTx26aVHUvYBulE4rqdbBSQ4hUMq6HPuhZC6J9D5ql60Jq94Yt8Cd45kZrcKgjUSg3TtwybbIcNaH7mWV8gj4wCel2HPtgXHuXJGEi0i3HMTMzXNW6sYUDfg9DTRAe3qlHkNm2P1qsy6UjsYDCqX1gNm2k7lBUi9M6rOo7EetZSz22CreUkFpiOI/gBMErtzPoch/rumnRREnCD6hnH+gFKj7SqU7EW7pp9RxYpEulRbmSt3cld0N4WCmigYsZY7D51Rysjhip/kUu7Ysbi6rTMuVTrR/2/V+uBMvtv8FNMVMQrqdKGVt+QVC3a0MSiHp356ziIk+ZH2XYlDWai+VK9f+IMzwk9F2vPOYRYpkoejGgWYmVCQnSdWxgQyxjnyzuNtEZ16QkW1vuimnXGwk/cTlWr/VOVI7Xo7qQtq6J4omF0puaAujm5jfcMvc9G81uyM0fkJgZGaYBqT625aFq8simIXmNcPZGJsINDhobBedmmaxrMpxPbbG848CLs/GUrFoI0+j0lDxTBsktAFAu VZ0kag2G PnXorObDAkRwXYPPLi4lw0GEtiG93LV22hF1KD7bMFqrcGpf5hGVndfh+PpHUFskqbPD2FwLAeMGcAgwGPvGs6VS6Ub5vChkaLS3SMLBijP5blCgOIles7yHNyhKl2mxqM2sfUA9uVRmgQyK6jaOE8ihhXhL/Yi/2k7bQbB4irV6aIA85DVlcIODNnOX7q6Mkx0znil5YiNwCr+fzwZ6b5weKG35KL/3he5pKute6JVYhvLDNBtHYGQHTf/AyNqwcxhnUuOWMErhkKyRrUAyTzIwHrfb2vSsWg45SJNH+39NFOM3jNuSf93oMxYmE8CbEbTRtfvPuZELmCGS6B44JCVbPe5ITpvS8Hf3v7YoIKv1bidvM6Hjvi7f8GzFf0k7KMDvevwUdX+DseNCTlxU1wljV7UEjAuno3qD7JYJkXvXBH8GtGH4TxAipd5WMh2O+kG2cMhEkNh88r8Im7zkXBgwWVm6XVORLsbFVdZ9Gr3Amji0dVHoyagsC1T/GPyzZ/fN+CMGY/taFtb202C4pxA+lGFMunELlDuWaicxer512cmpnNj5I5SVZbmkdr3BVPYPEKNEtDyOlIq+27BKx0/DmB/aR4IhthHDHKdCJkxVTRfln3ExnawDzMjMIAXPTyTcSn0w0mtvKK1HL2HwyTlWu/A== 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 3/17/25 10:26, Przemek Kitszel wrote: > On 3/15/25 04:15, Kees Cook wrote: >> Introduce __flex_counter() which wraps __builtin_counted_by_ref(), >> as newly introduced by GCC[1] and Clang[2]. Use of __flex_counter() >> allows access to the counter member of a struct's flexible array member >> when it has been annotated with __counted_by(). >> >> Introduce typeof_flex_counter(), can_set_flex_counter(), and >> set_flex_counter() to provide the needed _Generic() wrappers to get sane >> results out of __flex_counter(). >> >> For example, with: >> >>     struct foo { >>         int counter; >>         short array[] __counted_by(counter); >>     } *p; >> >> __flex_counter(p->array) will resolve to: &p->counter >> >> typeof_flex_counter(p->array) will resolve to "int". (If p->array was not >> annotated, it would resolve to "size_t".) >> >> can_set_flex_counter(p->array, COUNT) is the same as: >> >>     COUNT <= type_max(p->counter) && COUNT >= type_min(p->counter) >> >> (If p->array was not annotated it would return true since everything >> fits in size_t.) >> >> set_flex_counter(p->array, COUNT) is the same as: >> >>     p->counter = COUNT; >> >> (It is a no-op if p->array is not annotated with __counted_by().) >> >> Signed-off-by: Kees Cook > > I agree that there is no suitable fallback handy, but I see counter > as integral part of the struct (in contrast to being merely annotation), > IOW, without set_flex_counter() doing the assignment, someone will > reference it later anyway, without any warning when kzalloc()'d > > So, maybe BUILD_BUG() instead of no-op? I get that so far this is only used as an internal helper (in the next patch), so for me it would be also fine to just add __ prefix: __set_flex_counter(), at least until the following is true: "manual initialization of the flexible array counter is still required (at some point) after allocation as not all compiler versions support the __counted_by annotation yet" > >> +#define set_flex_counter(FAM, COUNT)                \ >> +({                                \ >> +    *_Generic(__flex_counter(FAM),                \ >> +          void *:  &(size_t){ 0 },            \ >> +          default: __flex_counter(FAM)) = (COUNT);    \ >> +}) >> + >>   #endif /* __LINUX_OVERFLOW_H */ >