From nobody Fri Dec 19 08:07:27 2025 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011010.outbound.protection.outlook.com [52.101.62.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 411192FF156; Tue, 9 Dec 2025 02:58:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.10 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765249099; cv=fail; b=rMJXxu1TsAJQSdb5JSpd65NRUtGrIPWRE4xTeBdJ2UIQTn6/8G6gDoAMMF8xsTi5w5CTUEu9ekdg7tXGBxMtdV1oPwqj1TqVfuQ3RaSw5b8WVqIPbgEiExzVLIffkCAtV8hCGgBo/eWuM78TXTKrvI0RT4m/JZxWoDKnqDqYxIA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765249099; c=relaxed/simple; bh=KAyYFSvmJ0ynvbh6wB09OUAf+anaCPBYCA9Lgzkd6ig=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=hYFChYHODTCp2sKuG28tDWFOce3rxqRVTrcv1w/WgHH6whKqnmCJREnOxm36rvUx9MfsRm6QQ/IKDdJMU1shagIhIBtWzSm0RMIXDnHPOp4P5zCgz5AFIcRFhs1tlYgrOztA67kIp91CzX/wfPgcc3DvmNBSMq9I/0B0hM1FzFk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=J7GZT1Tt; arc=fail smtp.client-ip=52.101.62.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="J7GZT1Tt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h416npupukVG9o0hzjSdh0B31SVs02LulASTeno0+wxLEyRCYbc9v/4Z9GcEsqn8zxEOAJaQAiGXairpBG8Ra1ob1IaA1gDskeP1B1t3feeA4G7YYe3A8z91iQy3tSe+xeKkVskI8D2tGOHeGWqzsoiPA3DU1rqBXe0DLgy0rApFLiGgfCMe9m3exxQYJZFDtDlvIpK2nWwmrVITtfia6QNW5SOWZX7fcLt9Qgq/Ny/65rw7F0OUxPr34u2qLOSUULL+JH9mRjJGyQ8Olv6XdbGTlrYjUMSXY/xJOI4adM56Mr4pU97xt93K5dKKH+mLE5lBlXO8HBL5LrRMh/PVQg== 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=ZNZt7tEZhh7pfPoO87yfyO5tyRbjG/DbdKJWz1VwkNo=; b=rBhb+SZDqrLZTSEKJekJXNWFjJ0oOmTp/HT+viCG21gngl5LORq9HmOcJ/C+mTJ8IBcKhAtY9BfzvlC0MavkZn7SjuTH6aZzHKimpKM+ryOGju7lQ5ZaSj0L2SgzoENDm5jy9VJMhTwXiZfUC+pdSj+/7AVnODaf/FKQUAYL3XEnApHE9G3onqrQqsdxdXWLu/wZYcUR00C+8FOp6hXzJ8bHUMIBUOdRBIvGzK0AJmsyRZmXgi48u4660EHQdmWeLY391mtCh5amQRUg8De6BTd3gh70geNgCT6XUMjwonNJZpq+4UsIV0C4vLDAQatBtgh3jwV91d83zElbI7dkew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZNZt7tEZhh7pfPoO87yfyO5tyRbjG/DbdKJWz1VwkNo=; b=J7GZT1TtBh2inBVu6jY/QaG/s6YkL0Lb+3I8EDgU7G1M4VN+xmHNLUMrFoju2hi9nrPq2PlI193tVeqOlyclzSLFzy6ZXiTNjwaanPf8PJft0gM7ZZQgt0WYs9u519/c9DMFR5E8cREeSIDx8PQpPHjhoRzvNMz21WxfTu5usi4i8REyyU+RGXzbY5biu0Qm/gG6JKJpuQ6hX/HgbjgV4va0gXyvT0/kIzIuzSH7M42UJy5rQhPss3rMgY/+5o6hLsFvVvwHvN8Ilm8IlbQ4fB/D9hGK+kmbg56rBy5oCX4xAyyi7PzW5jQ2VZj3unQ6e2SLQpymfh5aPno6PD/z2w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS7PR12MB6309.namprd12.prod.outlook.com (2603:10b6:8:96::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Tue, 9 Dec 2025 02:58:15 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%6]) with mapi id 15.20.9388.011; Tue, 9 Dec 2025 02:58:15 +0000 From: Alexandre Courbot Date: Tue, 09 Dec 2025 11:57:59 +0900 Subject: [PATCH v3 1/2] rust: transmute: implement FromBytes and AsBytes for inhabited ZSTs Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251209-transmute_unit-v3-1-819fe584ba06@nvidia.com> References: <20251209-transmute_unit-v3-0-819fe584ba06@nvidia.com> In-Reply-To: <20251209-transmute_unit-v3-0-819fe584ba06@nvidia.com> To: Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Edwin Peer , Eliot Courtney , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandre Courbot X-Mailer: b4 0.14.3 X-ClientProxiedBy: TY4PR01CA0023.jpnprd01.prod.outlook.com (2603:1096:405:2bf::16) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS7PR12MB6309:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b42dd3d-2573-4a0d-0a7b-08de36cecc5c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|1800799024|366016|376014|7416014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UEpYOWxhcjJ1L3J6NTk3djJlV3crc1FUYitoTVIwNVpuQjRCR3JFbnRTbVFX?= =?utf-8?B?UW9UQTA3RlFxczQxMHF3UG5CR2t6UVVIalliekRJSGFEL1cxeGpOQnVkTFFC?= =?utf-8?B?eDAwbEV4cHBXeWRKNkxCN0oydGNvdTB3dmFWYlJsbmRvb2ZMYXZuWHQzaEJw?= =?utf-8?B?dHovYWVpeGpNdEE5WGViUXVCYzhvaTdSam1raENvVzZRMmttWDkvN0s3cHBL?= =?utf-8?B?N2VPWUhZQVd0QkM5K3p1RUZsS1lLZStsc3RXZ3ZmWmdENHJlQkZLRnRKZ2d0?= =?utf-8?B?YkxReFlLYnRlajQ5QUZKNjJoeEVXb0FVR28rZnlvRU14eTNBWDFVWnlaanNU?= =?utf-8?B?emJETjV5dW53Si9pQVZrRDdkNjFqVEt1YStOMTljalo1Y2pUbnd0T1RCb1Yr?= =?utf-8?B?SnFRVzNWY1d2aHcxNjRxdkZva1dMc0lyeXBrYkx0MVkxbUVUZlBqL0I1OVZM?= =?utf-8?B?bE9NKy9hcEZLVXJZZ2N4YTNXdjNQMzRTRXJxdDgrb2NiRmVzNnc5Q2ZvRGNa?= =?utf-8?B?ZjErUzJVbmVuWTd2eXdHQTlLd3M0S2tpb1RSUUVLMW9pcGpHaUduc21GcFFl?= =?utf-8?B?a0tIU1pyMXNuVHJITW8wWExGNW1KM2tYa1Z4SW1WbnVSWmhHMU93ZUMyTjNR?= =?utf-8?B?MzcxT1A3V3BWUmd2aW9mYUFudmgwb0lQd1I5MzRzTERmWXV4ejN1RFpIZUIx?= =?utf-8?B?VUQrZVUrZjF6cjNVOUNTaWxEV1lpQk9FUW1JRXBxMjcwdG5OWmdya21Ob3dk?= =?utf-8?B?aVdkcGxLUzExTjBQOUJ3NEpTZTVick5JYVlJLzFFb3lBRHh4L245M0JlRGRO?= =?utf-8?B?cTNiT3kvUjZ1NThMVEpvR1dtRGVpZTBZYUVGSFdENjlEUitmOFQwbmpFbml4?= =?utf-8?B?Sk83Z0NhQmpFYzVpaFlRMW1rZ3I5Q1JsNTM0YWdrZEU0QjRmL3Q0MkpPcHEy?= =?utf-8?B?NHhwcEVRcXVGOXY1NjJHdDJMRkJSZzNWWVB4SHZFdWp1SldTVHErWUxHQkZ2?= =?utf-8?B?T2tHN3M2U3VkQ2JiRS9ZYy95UFkyUTdDYllnbi95Q0xKbzJScVdUclNzVVBK?= =?utf-8?B?cGV0c3FaMTBObkZhc2pZeVp4N05MSDZtTzNCdmxPamZMTFJBT1JzNGJSZk85?= =?utf-8?B?Q1F3c0ZXcHl3MTAzdlZhRXROWjZ1QVkrb2JyZVk1T1JnWFFuQk5RWXNjdFhm?= =?utf-8?B?bFNHNDlNeU1qMnpMa2Y1TWpvRWZXZERla0o0Z2Jvb29Za0hJUlFtOG5xZVl6?= =?utf-8?B?dktHK0Q3RlJENWM1Zldad3krajhUa3hneDFGNnBoR1dwWGFJM3VGTUFVZVBJ?= =?utf-8?B?eHNkOERnREFuck1rR2QwY1VQVlN6WUtDMmt1YXR4VFRzZlcxNlpTVzRxcXVs?= =?utf-8?B?M2NmQ2syYW9rcVVjbGR1OCtGOGJIQ1grMktDekpoN0dKSHpxZFlLNzZGUzJZ?= =?utf-8?B?ZFBsZSs0b1VwSjBJcVZ0dHAxNU43Q3lSN1ZIRmVqbjhjUGhQNjF4b0krbUs5?= =?utf-8?B?TFJGOTMyZEoxdVN2T09hQm1LeG5kL3psYjJrM1BpZzlQc3lIK3pqbDBjaStM?= =?utf-8?B?alhSbitjeW9kYmo3Q2J3MXZYWTZ2SmNUMmcyc3NNbkNhV1Q1Vzc0TG1wQVl5?= =?utf-8?B?YUJHRmVtQ1I3cnFDRFhDWlAwQ0MybUpFblg5YklreU1lTHhQZlVqT3dvNjZw?= =?utf-8?B?ZklGaUdvcmFoMmF3RTlYS0tvZCt0RWpFZWpNTCtLNUwra1VIRi9WZFVRbzdE?= =?utf-8?B?T0o2THNrNHdRbUlab0lFMUZkUVhza0xkd2ZoNzZDV3VxSTQzNWxla1J1MFlR?= =?utf-8?B?QXE3T3dYTkFlazE2NGNuNVFjL1Z5T01BQmo1aHBYVE1xVmFkTEhYMngxcW9h?= =?utf-8?B?ZmdGdWhOODVrQW5qZkJTYlp6WGQrdS92YU91Sy9GNEkycVJtcE5JZDRSRHRH?= =?utf-8?Q?IAZBArtuhOsiF/GTC5PkldqWQvt/w7HE?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(366016)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cXV1TzliTWlaOTBYN0tvM1h0ZXBUa1NCT282eGFFL0ZiTEFUMzVxZHd5RjRE?= =?utf-8?B?WnNwakMwblB0eDUyZ2tRSk9ONlA4UVI3SzF6eUtBYUI4UjM0bStOaFpmdGhq?= =?utf-8?B?ODNQTWR1d0U4cVFsVG1udWZuQm9RSFZFcXloMGlsYlNMN1N3MUV4QTJ1UHhY?= =?utf-8?B?SWZJUU1aWjhlQjdsQ2JxMTRxcU04aThvSXJFVXNoY2poSlVIaTYwRWpKWU5t?= =?utf-8?B?aCs0UjF2NENmWk05Vlg0QUkyVTdrbFM4RTNuYzhZZ3Jad0VkKzNLdUVpRy9s?= =?utf-8?B?aWZWZTlGbW1kVCtEaG8zUjdxKzNySVFZeEU2K1NQdTJ6VU1Rb0pFb0Vvek1N?= =?utf-8?B?SlZCYWtXeFh3am5DanlpcmdlZkVsZEl0amlqL3R3UFRLRzRtV0kwbC9wQjRF?= =?utf-8?B?d0luYlRRRmtlUUZ1VzUvd1dNcUNsVXVlRnp0ZHBNOXhHODUxcXY4Y3JqQzBP?= =?utf-8?B?alpxdVdqS0hzMk94dHFKaEdkemhCZEJsRDkwQ2lOVEFjQk5FYzFEQzNIeCtH?= =?utf-8?B?dTdlSVhnajIvZGFkbXd6R3hGZ0dISWVHU1J4WFkxc3AyQmF6OHYrbm9BSXpW?= =?utf-8?B?UEo0emFlcE56MXJ1cEQrWGtOcFplQmNRS0FLMWlsdG5kNTNZdFYzempHRUlQ?= =?utf-8?B?UEsvUFVXRXFobHU2TmFHZStrQnZBQmRLbXFkMDIyaGlYMHM4d0pPS0JQNC9E?= =?utf-8?B?czFYRk51T2lqQ3pUSTNnQ3p6UWZPMVRmVUdiSkdNTndxV2hqam1vaWxUNjRh?= =?utf-8?B?c3NDcEcyV3M0NThXbndaNFdleFNRaE1lZ285dTBKNXBkYlJDNnVzZVNrVlcw?= =?utf-8?B?Nm5QN01md1BPT1UrcG9SYS9oMzJIbVFNaDZQcXorNDBFOTQxem91REJCbklB?= =?utf-8?B?Qnc1eXBZcE5FYUFYMGJDV3M0elNZOCtNMWRGbnBIejNXd2J4dTRhemtiUEVS?= =?utf-8?B?QlN2aTEyYmZUZlVvNlI0aWdqdncyQzF4QWo2WDZobUlaRmN6T0Q0ZXIvamVT?= =?utf-8?B?TmhHZ0hjZ2tjZGEvcnpLSWFmTFR2RU5Halpnak1DRlB0V2NLK1hFNDRLWlZo?= =?utf-8?B?Z0Z3NE5IQkVza1d0cms3b2dReFZFRWU1L3p3TGREelRHMFI3amxmQithYStV?= =?utf-8?B?a2FtUkZSbEV1cnEzTUpnUGtOTi9acjVaMzl6YzJUZHRnL1pnSkNQSkZ2ci92?= =?utf-8?B?T0YvekZkOGdiclE1cHNSUlJQVmlrbGU3L28xbTM1MXdvdllxaGVtSisyTGkr?= =?utf-8?B?SDVzWjRIRTVjWDNwSDM5OW5oVXo3bFBHNmFtdUd4VjhiN2cyd3k0cTFKU1do?= =?utf-8?B?RW44bkQremZhMHhwTlpQcVRaa1o0QzlXVFpkVU8xNnBhUkQxMU5ZdFE3eHZv?= =?utf-8?B?ZHF5dEJjWkcxdzVBMlZFK3lzQ1dhQitHc0lYUXp4WVJJZytRTHlYemNRSERm?= =?utf-8?B?L21DUXRELytRWXVFdG1MajRRMVQrRW1iNFNRVDRmV3ZQZVlCS3VZaE5lU1lR?= =?utf-8?B?ZlVIdis0K29yeHpkZzd4Vkd3RnBrbDBWSVArQStzN1VmcjJ5a0NMSU5aUy95?= =?utf-8?B?VkJ2TmlNTEFqcmZKSTJRb0Rhck1Ndi9aRXBOUnVTbFpqRmhtNmthQjhaV05N?= =?utf-8?B?NFBtd1lheW1vOVpYWC93aW5zZjdhajIxUVA4UW1YT2Q1MmgrYjJhZ0tUKy90?= =?utf-8?B?Y3htaWk3dlVudFgrSlVnZ1cvWTY0ZU9sRmI1NVZGZ21qd2xranRwSlhMTXhO?= =?utf-8?B?WTNjUW1uZXp5cGN5ZkRvVXRvOUlMekwwWS9SL2QrQ1pWenh5cW9wb0VnbUhH?= =?utf-8?B?bkYxY2Q3OFlxOUFPL2lnN1VmM0I2bjd5SUE0Mnp3TkF3ZHFSa2dFZm14b1dh?= =?utf-8?B?K1JSdDZkSEdhVlRXb0lHbzRaWVhzRklTbXluY21VMTNWVlRoQis3ZEZpaVps?= =?utf-8?B?U1lIaGh0bVNieGNLWE9rL3pmcXlYZzcycGtoN0VaTjlnQ1JmekNDYnhDUTJM?= =?utf-8?B?VUloYXIwS1NuTzNCYWJSUWZaRlZaWjNXOXZxWi9yVjFaTllubUZjQ3ZYcUI0?= =?utf-8?B?ZUcza3JjaWQ4NkdZdmgxbVdKMTBrRWhVamtxSS9zSkdBNUhoSGZMQ0F0bFZa?= =?utf-8?B?T1QxY0d6UG9LVnBCWkxzZlU5bFBKODVwbk1vSDhNVUp4YmNFQStveGJSbEh2?= =?utf-8?Q?D4vEmvQ+woCF3gLo0I/6cnO2Jcf9IKPAhOjS2AK9vYVX?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b42dd3d-2573-4a0d-0a7b-08de36cecc5c X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2025 02:58:15.4542 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Qbf6KLwuC81pCGdSndxddwsxka2ohUvO5PfAyu2GbVb/GXywLAZwFk40psYn+0wFobtw/ayCgbJ4T1ofiJlywg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6309 This is useful when using types that may or may not be empty in generic code relying on these traits. It is also safe because technically a no-op. Reviewed-by: Alistair Popple Signed-off-by: Alexandre Courbot Reviewed-by: Gary Guo --- rust/kernel/transmute.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rust/kernel/transmute.rs b/rust/kernel/transmute.rs index be5dbf3829e2..a888a312e7ff 100644 --- a/rust/kernel/transmute.rs +++ b/rust/kernel/transmute.rs @@ -170,6 +170,10 @@ macro_rules! impl_frombytes { } =20 impl_frombytes! { + // SAFETY: Inhabited ZSTs only have one possible bit pattern. + (), + {} core::marker::PhantomData, + // SAFETY: All bit patterns are acceptable values of the types below. u8, u16, u32, u64, usize, i8, i16, i32, i64, isize, @@ -230,6 +234,10 @@ macro_rules! impl_asbytes { } =20 impl_asbytes! { + // SAFETY: Inhabited ZSTs only have one possible bit pattern. + (), + {} core::marker::PhantomData, + // SAFETY: Instances of the following types have no uninitialized port= ions. u8, u16, u32, u64, usize, i8, i16, i32, i64, isize, --=20 2.52.0 From nobody Fri Dec 19 08:07:27 2025 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010044.outbound.protection.outlook.com [52.101.56.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1091130102A; Tue, 9 Dec 2025 02:58:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.44 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765249105; cv=fail; b=bNYrTGpplKqbxadVG6NnFPZR4g520QQp7j4o2xbDJhYWCOQUfD0DmzA5qfkGK4zjNZLOnSLmTD+DlS26i1UdTAkP5LTAPfmH435U19jvFX+SoATHlRLdpirCZyqxBjVCFBXtKSfsQ9C0XGTPj+yC+antsVeM0Drbq06Lc9C/kNA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765249105; c=relaxed/simple; bh=CVvdxmmioBD5/zFfL2bOrEo1q6Tj8CqvyZ5IIiYx3AI=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=b1YZ6a4UHlY6YpmW1uhfpezemSYH/Og92wz6tjBHdxlmiDRIko8eEeUMGemiAqGBGwziB4Ky6grAbLQmWXVx57E28m2ALwZWl4k5ugukxXRXq6NlDsHKbiZuPwmQSGi45yGkWtRYTMj/6DVZzo4XWqCGFA910GfJquF54ppkU5k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=oktwF2Os; arc=fail smtp.client-ip=52.101.56.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="oktwF2Os" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OsMeX9HFohpiw+ewOPVYv91iwsH/wuIfRDhrEX2TnWv1srgOgSGkSCyhAoQrSQBxs5DpnyR7dDY8sgf+PwQDRsCEpTaykUUnqtDu/gEjLuZ7OjBZOKc/Wgkzrc48UCJsP8+nypYx/heDkdmeDvC9DL3+nSLMq4zcUh8YtLO4XaoIoqo0cZGloGyT42t3TTuftQo9dwalNWW1n1og03HvEnRayay0FBrQiNc23aEJ7roEpvfuS5h+YtG+wlS/2RJYkNj6NwpyczWk+g2mvP7XJw+OGQpXYs2MwwBnYFYlJdqceYmACV8vjxxB0vF1ce27Q0I5J8DtPN+Y65Z1y/VnEg== 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=R4sFjwTioeJinVT32YRM2sBVZl+frgAsKMvgXeoW0hM=; b=fSX8gbPATYJT+KFu3zcQebi3FIDajkgSWzsxA7Flu2c23fOcnbb+qiiI2l3A03QnUk2wr2TRsIFHtTO47jiSVQFWe01CVDQ3uJX3iNQKYwRXJlPCVzOZj3xKvJuVewqJfPhxbqU98A4F9MqeKkB23LmLOUSdWXoEAyLa8w5CBRfULQMfXNA7XPTXzOSKDzHCkn9NhuuGCAGvlGQ1aLeN7or4OVeVdFo7QWPWJ8E/zFNq8QMLGELshub+/YMVKRue1QAbzp+AK+RgZGWbpSgdEO11LKOXYEuRGH7YeddSeP0LQxUkyymeJOY0+YGB2P0nJ0uRoZa1yJrtTSzqvejr1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R4sFjwTioeJinVT32YRM2sBVZl+frgAsKMvgXeoW0hM=; b=oktwF2OsA4RctClj/Y5eYDcxFbKk+Jvw58cuV0qBAqUjvWxcI5iu466fLw0w7C8si61KreJkm1PCPqI60OcpynbaZmn9fT8rsXuC4HPwdQeAPCiQcagaN+SxsW6WE0vl1rAkRd3w+Ynw3kgNE7SCZJuCc67GMOz9wnuHTPrYa3MdQMqZRqfcsPtVsYL2TMg61mduCWRxlT9Dw/Iyq/MWFhAh7cKYiGrX/r3EQsiI9wH3TpT6xLvr3Znc9t6hTgARbgkZUbgDt0SXZ0vCUt4N0z0ZYQtgooqIOMn8Xln1z6t5kRrj1zfuP3GABQywqpTXdwi0g4sxw+GOYaBo+x+1wg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) by DS7PR12MB6309.namprd12.prod.outlook.com (2603:10b6:8:96::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Tue, 9 Dec 2025 02:58:19 +0000 Received: from CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989]) by CH2PR12MB3990.namprd12.prod.outlook.com ([fe80::7de1:4fe5:8ead:5989%6]) with mapi id 15.20.9388.011; Tue, 9 Dec 2025 02:58:19 +0000 From: Alexandre Courbot Date: Tue, 09 Dec 2025 11:58:00 +0900 Subject: [PATCH v3 2/2] gpu: nova-core: gsp: use () as message type for GspInitDone message Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251209-transmute_unit-v3-2-819fe584ba06@nvidia.com> References: <20251209-transmute_unit-v3-0-819fe584ba06@nvidia.com> In-Reply-To: <20251209-transmute_unit-v3-0-819fe584ba06@nvidia.com> To: Miguel Ojeda , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Danilo Krummrich Cc: John Hubbard , Alistair Popple , Joel Fernandes , Timur Tabi , Edwin Peer , Eliot Courtney , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandre Courbot X-Mailer: b4 0.14.3 X-ClientProxiedBy: TYCPR01CA0170.jpnprd01.prod.outlook.com (2603:1096:400:2b2::10) To CH2PR12MB3990.namprd12.prod.outlook.com (2603:10b6:610:28::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB3990:EE_|DS7PR12MB6309:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d4e5308-9566-4398-c5b1-08de36cecea2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|1800799024|366016|376014|7416014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NzVaVEs1QUxnV3o2aElNcVhYaWRQLzZVLzV2a3BTWElJb2xDMkorNGtvelll?= =?utf-8?B?WUplb1VqV3JFdjZQK1QvVTk4RnNZdGRhTHBZQkpFU0xSRjAxMm5jcy9PUGZq?= =?utf-8?B?b1hUN0o5SXNlak4rOStnemRxQ2xnTVc2K1BFQldYQmc4WTU1eG5neEc4T1l2?= =?utf-8?B?cWhmVkJIZkhha2hEM0hTRzNZaFBaUFN3TThPSEkrenRFbTJzMk5hNm1nTWdL?= =?utf-8?B?V01Sa1R2ais1QlR5T2R4bUNUaTVzM2ljSVdOc1ZWNlNUTHFiZEFuNXkyaXQv?= =?utf-8?B?YUNsTjAzMjZ1NkZ5d0hUNHE3UjlRTG1DZkNxa2ZDak90eE04MG9OVlJxM2Uv?= =?utf-8?B?dldWQk0rcGlGYVJmTUtuM2pBTDc5d3FqSUo2NERobWJsSzJVM0tYTTRLOEFC?= =?utf-8?B?QnBSV2E4YzREN0pBdUpmMXpkVUJmdkdpaml2Ung1T3EweHpMSkIvZGtBYUVV?= =?utf-8?B?aUJNVC9lQktjQWFkeWJOcGlzNkJsb3IyekJqaThMT09qQmhtL1VkMjRrZzdq?= =?utf-8?B?V0hGdlh6Z0VSM2lpbmE5UTVOdzkxdHRYcFgrcDMrSFNWNmFZQmV6MDdla1Z0?= =?utf-8?B?RGgvU1ZSY2pnK0tsRk9iekMwSlNPeVkwRGoxYXNJaFRVTzU3ZFVzUHArY1Bm?= =?utf-8?B?VUJTNDMva1NiVTZHN1ZuTnFoZlVpcmNnSk9xbzRJMytjZUxOYlIvVlBkY2Jj?= =?utf-8?B?enRyRlZpQkl5WEJZK09tZ0hSdE51L1NScGtjTllpUWlVUWJMOHNtYmtYdmE4?= =?utf-8?B?bjFpTkk2Y3hSTFFKUFJ4SGZpVVUvY3NOT05YbjFSMDVRd2hvM0RVTkU0YlZ1?= =?utf-8?B?UTY3TTZWV3FYQzNETVljS0xJN1RtaUpyU2wyMzZiUEd1WHJXNC83QjlXYlo5?= =?utf-8?B?QnZVblphT3AwUjQ2eGFEVDRVM1RVS1dmY3NMUGpRV3kySnpycFFBdE0zY0lB?= =?utf-8?B?K0FJSjNpM1dRemw1Um1WcmhQcUY3dmQ0Si9DWDdndzFUZEg1K1dDeDlkRjR5?= =?utf-8?B?UFVBN2RJVmt2TkZSZW5kZUxrQmc3RnRmZEpMVW00TUF1ZGk0SmxUN3UrRnRw?= =?utf-8?B?ZXZXbGN5RUVweFVuMW0wN1dnSXVvTGJ2cnQrTXFBSlBaWHZEd1dWQm5HZ2pM?= =?utf-8?B?aUUyWmhFSlJtWkR2SVRHQU9zQjhTTW90YnFYQSttZmtsSGpSeTVib3hmZUpZ?= =?utf-8?B?RWFBU044bWMreVNsZG1kOC85a0gxNXVYdlZmRTZtRkpnbE0xV2tiMS9IeFhR?= =?utf-8?B?SjdvMFFXQ2NINGVUSWRpWDlBais0QnBCdG5oV1JmR3VQSU90eTM3LzEycXpz?= =?utf-8?B?eThVNlkrRU1oNnpGVnZZdkVXUk1RaUtKOFAxaHMzT1JLV2YwQ21zTnpCblBO?= =?utf-8?B?UzFBbnJhZHQ4NVZScC9QeGFFMFNkUkZ3ZmJaaDZVcU9sT1JoakN3MGtQRTVr?= =?utf-8?B?SEQ2QUxTM0FHcmYvMHNFQWVjYUxoTzFIL1J1S0lIdWhqcEl6eFJHeGhHZlBL?= =?utf-8?B?aDNlUUdHbkE3ZGR2dklYcGV1ZzZJRzlsbGp0c3NLTWtyZFhTa245djlycUpx?= =?utf-8?B?YkV5SW8yaFdZK0RJUEtZeEZURzltTFM0NkdraFRBSEFHenkxby9Mb2p6aUNh?= =?utf-8?B?eURJSVhwQ1hqNXIwTTkrbkpqbW1UeDhQU2l0WGJuRnlrWStJQkdPY3NYbllX?= =?utf-8?B?T1Q1MUIwcjRWd2hobi81Q2I2SHBaY3lTV21YTUlHaFRRZlAzZzgyTFhlL3NL?= =?utf-8?B?bVphZjBmL05UTGlQRmNxOWo4N1p3WUVSMytFZDArQnhQOXRnNlRhdVJGVldw?= =?utf-8?B?OWlYa0hKeGFjQ3E2Snk4M2ZNSERkbUZPczJuKzdhWXRSRlF1akxDeGR1QnR2?= =?utf-8?B?L3JVVXE2dXJ4QXlMOFJpSXl3REhJRGduQzJGMHk5MlFwcUFyUENTbDFDWEpl?= =?utf-8?Q?cxxxu1CnTSWIRPG8DmLo5z0a/osvlofD?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB3990.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(366016)(376014)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QnIzQ21FOHVJa0FOVVZMOXRDTFExRWt2bElCcTI1YUtBZDJGbkRUUnRZVEdu?= =?utf-8?B?MlFWSXQ3SWpiSGUrQWt0VWRxeENJc2V1eWpJL2w2dm5NTHZHdWVWVy9lWnNO?= =?utf-8?B?NFdjOVdJdlAvOWxXMnBJV05KVWNCbkI3aXhwUSs0R08zWk9PRjlFdlJZUGNv?= =?utf-8?B?Z3Y4aWVHRVNUTGZTbkxkZHE1M05zU0JRQ0hUUy93UlJEWFVXTzVZSHByblIx?= =?utf-8?B?WStaVEloQXo1TlYya2ZiRE15cER4ZWxqb1NGZFhLTm5VaDVxL3BKQ2s2bEhU?= =?utf-8?B?L2lXcUdEYlVoN3prMVBuUFduSG1jSkNNMU1KOXdjS0VMWjRZTmIxU3RGblV1?= =?utf-8?B?TGx5b05Nc08xTWtNNHdMUUVSdk9zYmNuTmF1MXBTUlJJcHdKaWJ5dE9BcW01?= =?utf-8?B?cEhjdnc2dnVadEtTVkcreUd4SGV4a1hVUUh5RENaZVJjQld2VDQzV2FlZFI3?= =?utf-8?B?YXNlVEoxMHFTcE9ZSFVUOTl1UzQ1QlFsWmFmWER5NTVSQmNuZDVsZzFwMW9h?= =?utf-8?B?TWJpRldGSDlyQy9lNG50dndLRitpemdhc3cxcXpYNXRmRlRqckR4T0FNQW1w?= =?utf-8?B?TVFEQWE1SnN3Wk5wMHlzdE8wUWRFNEtIdnNWN2s3OEM5ZDR6azR5bElKeHl4?= =?utf-8?B?b3J6V3c4QVVtcTRkZlhJMWxRTkU0cTk1V1NPdGJzQlBIdnJsNWJjUlVqOW9k?= =?utf-8?B?bTd2QTAyZWpTTFU1TXNFSmhiS1lXNW9kMndLU2I0WGNsVW1nREpiYmZLQjRx?= =?utf-8?B?ZndpdHErMldGaG1vRWJYdGVtSytyL0tJbnFCUytKZ25KWU5vSUhRNXBGUGdD?= =?utf-8?B?aXQ5QWlaTzJnalN4K0toWHRkRGVWWHZITjB5UHZsSVJqcmQ4UXIwb1V6Q1BB?= =?utf-8?B?am9IamdZZnc0Q01HUEJ4emNaUTBSd21TcmZhdWZtS2JUQUNQd2tmb2ZsWVhn?= =?utf-8?B?UUZ3WWJWU21MdDlhK05VM0Z3dWhtSkZ1REI3RTB0QjY4ODYyWEJSTllPb1ZI?= =?utf-8?B?Qk95U1lrYUZnVVBIRXgxaU1XcHFXMXhXQWNOZXcyZXFDd3JyYmE0UUhIVU1V?= =?utf-8?B?STJZNEhOa3Zmcm03bm1UYTBGMHJDSUwxZ0ZKT012RkxGM2hleUM0TzczYUtv?= =?utf-8?B?d2JBNWYzZDkzVkZyblVMRHZmaVBTVjBYY25JUlJ5ZjY5dlUreWZqVnM1dksy?= =?utf-8?B?M3lUQzBPVzFSOVI4amI0NWtWWmJOMUdKOWRXT0dsL1FObkRoclZPMTU0Rk4v?= =?utf-8?B?SWwyV3RZaCtMVzNyUHVVQjVhSkZINVBmZFcwSERMcnVDaUFQMCthL3RuTGY3?= =?utf-8?B?bWpGdVdDZHV3YkV5NlFaQlhSK0x3ak1lSy93ckt4alNaOFo1YWltNnhSeDVD?= =?utf-8?B?THdtUlhMczFTU0R6WlZyakFYNFRaQ1g1a2ZXS1ZGN0RLV2VhSlhJL3FFWHR0?= =?utf-8?B?eC9Uc3VQQkk3Sk5JNnpCMHFQTEd4dnppSW5VQlMwNXM5Q1ZDZVhSWXRvOVVv?= =?utf-8?B?VGxkRzJZMG04Slg4alVuUjhqRjVDVnVKaDlZN2doMUhIZUNVYXBoMjJJMkF0?= =?utf-8?B?eEx2SDN1MVB5Smp1dmxWN3BITFNsVVBibUkrOEZTVG5XaHF4MVphMGdFL3d2?= =?utf-8?B?MysvS1p0T1pwV0xZN1czdC85THZ6bXU5SC9zN1RldkVScWVRbHhZZzlNQXJa?= =?utf-8?B?Qy8wZCtWQnZKcTZGbTVGY051ZVlRRU5RR2dxcUFrMnV0VHN2RGpzbk5UZkZN?= =?utf-8?B?bGZDbnNuUjExaHBaMjk0V0tuNGd4SXByWUdqWTRYZHU2QXNaSzZEODlyakRD?= =?utf-8?B?bmxzOHBlYkhPcXdpdEJDQjMvbDBqWS9WenEvdWZKWXdqYUVmTXNVUklBWU5o?= =?utf-8?B?eTFxSUlIdjRkYXNZU0RoTHlSd0FRNW9VVHgzdHJtcmpRWTRGc2xjbGtOaE9K?= =?utf-8?B?S1ZzMkFvamQ5ZVpqb1U5RDFLSGxDdnBBa2FNSmRGTGlnRVhWL1BVU0ZCZmho?= =?utf-8?B?ZVhJVU5yVEQwbHhOMlpoT1pZcnFNWlAvd1pBbTk2bUhWR1hsc1V2UC9tdUJN?= =?utf-8?B?MHN2L0FhWE8zNVl0bkJkVWpscnNCZ241ZmpxaHdGeDJKT2pkQ0FYWmhCMHNS?= =?utf-8?B?VHo1OGFiWk5KMk81ZW1uaUN2UFhxRitwdnBTdDB2R2hlKzVPbDJ0SnRBTHl5?= =?utf-8?Q?1N7CdhIlbQoE+rnyPWDCwvlJhjeXBjoD3a5FzYA4Gm+9?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3d4e5308-9566-4398-c5b1-08de36cecea2 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB3990.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2025 02:58:19.2446 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lbg+ccxXAMs7RJVIiTNAcF+ST83cR7X6D+irDIXozeHfeRXJcTeEM8Vk+MLzfPVwf7PV/67VEFSVck5nivKr4A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6309 `GspInitDone` has no payload whatsoever, so the unit type `()` is the correct way to represent its message content. We can use it now that `()` implements `FromBytes`. Reviewed-by: Alistair Popple Signed-off-by: Alexandre Courbot Reviewed-by: Gary Guo --- drivers/gpu/nova-core/gsp/commands.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/nova-core/gsp/commands.rs b/drivers/gpu/nova-core/= gsp/commands.rs index 0425c65b5d6f..2050771f9b53 100644 --- a/drivers/gpu/nova-core/gsp/commands.rs +++ b/drivers/gpu/nova-core/gsp/commands.rs @@ -142,7 +142,7 @@ fn init_variable_payload( } =20 /// Message type for GSP initialization done notification. -struct GspInitDone {} +struct GspInitDone; =20 // SAFETY: `GspInitDone` is a zero-sized type with no bytes, therefore it // trivially has no uninitialized bytes. @@ -151,13 +151,13 @@ unsafe impl FromBytes for GspInitDone {} impl MessageFromGsp for GspInitDone { const FUNCTION: MsgFunction =3D MsgFunction::GspInitDone; type InitError =3D Infallible; - type Message =3D GspInitDone; + type Message =3D (); =20 fn read( _msg: &Self::Message, _sbuffer: &mut SBufferIter>, ) -> Result { - Ok(GspInitDone {}) + Ok(GspInitDone) } } =20 --=20 2.52.0