From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from LO2P265CU024.outbound.protection.outlook.com (mail-uksouthazon11021095.outbound.protection.outlook.com [52.101.95.95]) (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 E7AF72FE071; Sun, 5 Jul 2026 16:45:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.95.95 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783269909; cv=fail; b=Q+HMmyCybR610Gw6/VexDtSUGh+MQM3D4qgq9kw3BEP+C9XE24F5CUnRq0/9hsDPofJSxZGOkB2t2n2oKsjix3ApH2yqEC4zLd8lwZEvKANGdQun3SaRPflFoaIkqoeobRFNPVXVlYCF0ojNyI7APGftkgGzDxFkAgKQAAz5SzE= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783269909; c=relaxed/simple; bh=rqGf6nJ0fEVcmtr4+GEUj1i5pIF7PGqQcnrus6yaoB8=; h=Content-Type:Date:Message-Id:Subject:From:To:Cc:References: In-Reply-To:MIME-Version; b=cbylde8n0yBBOiNfFzwdmqBJp5mShvmSLpCD0xo8SdOiL5Xpiqh5yH2hRww5GQz7ha4X2ePqDBclt3kacWLe1e3k9qfAiCQ97G3fFPzZdBTgKT4pIbz0ygnC4w04SN5juuJ1hQhXs3eCYjlnAO/u3BWlQayTv06ays2qAFVToOM= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=garyguo.net; spf=pass smtp.mailfrom=garyguo.net; dkim=pass (1024-bit key) header.d=garyguo.net header.i=@garyguo.net header.b=lnX6bjPk; arc=fail smtp.client-ip=52.101.95.95 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=garyguo.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=garyguo.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=garyguo.net header.i=@garyguo.net header.b="lnX6bjPk" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=whg7R14qc0jI9T+oCz2muwPeNL7v/Baetutg9ZPrnMhCtsUd7CXWWuTywpNqK0axmwrckESU9Nd9Ecnz54CV3qOgDucOMpUvg/zc7Hp8QGwXaX0kdcXQnbiQUUJAoCHS1kAm5KZNHl4iLdu0sGUjkgym1V+mSAWhIGbsp2RivChRRcV21oLMBQq2pjouNKG8uYRD2JQkUIG7yVJpmixJd4VcKvp3Mzlei860+2cBf2FkRO2XbJemYV3kC0KYOyUlpeX0QxLrjwM3gwkue9xD3UTOLjiJ8vXt/Nq+7A1cl7qtbF1IsdGb7iU3NR4FEE8JgRp6NqBUjzuc2UuOjB7G8g== 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=l8Sdi+Mjyw7Bgzq7oGaLUd1mt6x4rF27k9S4N9IJzSQ=; b=NESekU8p4q0hLsBp2JfXVuB8T2iW3MivC8xD/x7495dd1nnHZPeYUUWZjcEwOIPPZLLOWHKp1wTzb4QBEulb+Ep+/zDkTcjlnTq0u8l0XbZJzZOwE5U6BbPCpycvHk568xHnvfAKO4q9+6zcBog5RWWE1DH5nAO6mw4AnPFQfhYlft0n1jyZwU4KQlUc5UypZseEyiVeSOMZ3LUcm/lpTQjoAFm6E/6iQy5kYrY4Ex2Je3HvZ51h+F5Dq47vrquLqn7EXb2Y+Gy8hYTzarPuj92IAy/vXH0YWqYLgWGs2IkgkQX0ION4LiwviHwn90Ln0JM7H9j3viFxY6dk1MYdrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=garyguo.net; dmarc=pass action=none header.from=garyguo.net; dkim=pass header.d=garyguo.net; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=garyguo.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l8Sdi+Mjyw7Bgzq7oGaLUd1mt6x4rF27k9S4N9IJzSQ=; b=lnX6bjPkLyV5fTFbtwD5/dXfYCxW1CWWi/DvaOOKZjunvRLxnwoxIL0gp0Hw1PXXgaeoVA4HIcTtgDieN6sk7P97HO781iSoOocEup9GcqNuSl+D+AvBuQpqIIexUbNa7zuu9C8jYr7xun+Kl4E3JN7Bw61jm3GEDS3GBfS1f/I= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=garyguo.net; Received: from LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:488::16) by LO7P265MB7479.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:41b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.10; Sun, 5 Jul 2026 16:45:04 +0000 Received: from LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM ([fe80::1c3:ceba:21b4:9986]) by LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM ([fe80::1c3:ceba:21b4:9986%4]) with mapi id 15.21.0181.008; Sun, 5 Jul 2026 16:45:04 +0000 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Sun, 05 Jul 2026 17:45:03 +0100 Message-Id: Subject: Re: [PATCH v5 02/20] rust: io: add missing safety requirement in `IoCapable` methods From: "Gary Guo" To: "Alexandre Courbot" , "Gary Guo" Cc: "Alice Ryhl" , "Daniel Almeida" , "Greg Kroah-Hartman" , "Rafael J. Wysocki" , "Miguel Ojeda" , "Boqun Feng" , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , "Benno Lossin" , "Andreas Hindborg" , "Trevor Gross" , "Tamir Duberstein" , =?utf-8?q?Onur_=C3=96zkan?= , "Bjorn Helgaas" , =?utf-8?q?Krzysztof_Wilczy=C5=84ski?= , "Abdiel Janulgue" , "Robin Murphy" , "David Airlie" , "Simona Vetter" , "Michal Wilczynski" , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , "Danilo Krummrich" , , , , , , , X-Mailer: aerc 0.21.0 References: <20260626-io_projection-v5-0-d0961471ae50@garyguo.net> <20260626-io_projection-v5-2-d0961471ae50@garyguo.net> In-Reply-To: X-ClientProxiedBy: LO4P265CA0068.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2af::22) To LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:488::16) Precedence: bulk X-Mailing-List: rust-for-linux@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LOVP265MB8871:EE_|LO7P265MB7479:EE_ X-MS-Office365-Filtering-Correlation-Id: 861e1c19-e0af-477e-4c92-08dedab4c35c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|23010399003|7416014|10070799003|1800799024|366016|4143699003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: EZ77z2F866ilvDrW9Tb9xCYy5y9eZJiaHJcXN7lsQWVejHg+zcxoCl1Z+D+HsB9FfoWKY2YlKj3Vf4JHnCfY4tCATFVG1LfLTxzGUm9svcrvW4CxF7BmSUwRtHD+dDXv8WXLfUaRfziwrCrGyDZjHPg9PzsHGxjjYilRVjxDk1EKudFa9bnexaudF/bCBM0ltktiH/lkpZyNmmP8yiSbmjTF+my+d/Z0j0z/ddDZ2s+67APwlUHhPXed5grXbCNqQOK+h/UFpqsGNlxkxVxd/C3IzlYMFKCG8BSOI55XqzwDLwzmUI1BxP+guwwyVYWOIDrn2iwioTRgxBOB3kTKeHZSF1nV5BQrzmDl534zNqUD3PbQwQV4nenYCQLGW0CXIuR5MhlCVJPrpGK9mu5ltYwbftCRXL2MQSFHHsY9QciOqW6B8g2ofHrTV+9xX/tMGKFLhkddk2uNCxvS+8nWrZZ2vH9eZg7paoBPaM4lv/spUwC/IlDj/z3P7nDJ2oIXUXU1RiDEpFr1sAVXkdtARBneMXn0jaskISZ/R3Y69WFlbq4eN075fiSNXxXHS0ZFWlr89CpDQf5A4PX1ZiCg04Qy3zwqBas0WaXxWAutyng= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(7416014)(10070799003)(1800799024)(366016)(4143699003)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SlZwcUxQTEtaN1M2Q1pqK00weStRMWk5TXE2OEJNcjlhSjhQc3BRb0x1Nzlt?= =?utf-8?B?WkdnVWREOURzT2tXeUNTV2hjTDJmZ2VYaWFtSFptVG9rZ3JJWGQ1Q3FFdWlR?= =?utf-8?B?NlBVZ3ZhU2c2ZGI2SWdMQ2VrRnV5MVRPTE5MK2JDdGNTd2JtZ2RpQTZzVWZ3?= =?utf-8?B?T2JPYWtXN2JCWFlJQlB1akNDU2x0amF0STZLOVIxTlNUeTRCZXAra0NPK1Yx?= =?utf-8?B?TDczYm0vM0syNkp5eTJSdFBQb2lDSlpCa2FMRFR2aE9CakhVQXdmb2krZUlX?= =?utf-8?B?U3FQVDVrY2RPYUtvUEFRcVUyZ2NuNVV1OEpqZjgrYXJqYWh6NzVja0hlTnoy?= =?utf-8?B?cERyTlhBYlF3M0dubWFNUWZLaHlXRWIxZWFpdmJlQU9lYVhpakhkVUJDU3ZZ?= =?utf-8?B?ZU12KzMzV0dZRUg1d01ETXE1VW0xaVdFdXpKcVcyc0dvakd3T0FtZ1ZEODNz?= =?utf-8?B?Zm5JTDZGendPT29XWjdsY0RhYWVWSWxla29aN1Z6MlRiQjNsd1REMC9ES252?= =?utf-8?B?Y1hzdDU2bmJkM0xQNGd5bHdKMk5Ld2pKeXRZVU5TM2pHelV2LytmS1k3S3BT?= =?utf-8?B?dmgwajdVVThsUFlQZU1pS3dOSE1Va0NYWHBQTXRIdGdiZklqcnE0bEVUWGVI?= =?utf-8?B?SEtWUUJRdStBRXdMTHJXblRxRFQ0bEdMRWNTTklWUjF3MHpMbFU0VURnTVRE?= =?utf-8?B?WTZ0K0pwK053ZmFVYnNzVkdDdERJa3diRW5pRlMrd05lWGhUNGVZRFRWcGp6?= =?utf-8?B?VWtVSCtNcEdlS3VuU2lIZWRXdlYvanBHUVZWVENQTmU2bkVJc21IbkxXQUMx?= =?utf-8?B?QzBCQzBJZ2pDYzhlOGtqMW5ldTZ0bjFHODhHN2psczh1WFpVMlpiSUUxMTlq?= =?utf-8?B?cVFtbWlaSjZ4b2c1NWVPVUlPRVIwdm1kenpjTDhwd1lvNDRza2pkc0kzajBT?= =?utf-8?B?MFo5VktxQlJLOUQrdjFPbFFGZU9xRUN4aC9xUTdCSzc0ckZuN3NnQy9qZktm?= =?utf-8?B?RXZCZWRuRGxvbWtkT2NLMVhhR1JOdHBHclJMVUxRdUd4a1llclRZeTFmMkFa?= =?utf-8?B?VU9IUkNhcC8zc2kyRjk3ZW53aXMveTE5NDZFQkEramdscTBvMDlnK05vMm1K?= =?utf-8?B?dExRQnRlKzlaRDFlWVR3cGphZVF1dTJwcmZaZ29OK3RCV2YxWkp0TWlsOEpG?= =?utf-8?B?YzlYZWMyUW1GTW5qUW41cWJrdjFZVjBTM1UydXFuM1RkNU94czBlTmd4Y1h3?= =?utf-8?B?VWhTdDlmVHFkNEluY2RXZXRvaWV1M0daaGhpZTVtWjVkL1p0OEtxa3gzQVAw?= =?utf-8?B?VTczSUp1V2Q0VlBpNmp6ZDNJVGVvS052cUc1Nk5tZGUxOGoxSUh4eEJjNkQ4?= =?utf-8?B?NEFOcnhUZkUrZkozVk03dnpxRnI3UHV1ZFI4bTNrMWovYXZ2cGtHSmplS1RI?= =?utf-8?B?anBjOE9NTTNIZUhwaXBqdWlGMGZmTEIwbEE0cjdTQjNzVU1vS2dRQmsyOVQ2?= =?utf-8?B?eEttU1pMMlp3aGVQOUtja1AxY3ppSjFMWkRuT2Z0TzdPRVVxMENPOGJHOVhn?= =?utf-8?B?RXdqdE83ZkdqaVRzWS9JV1V3Z3phaGxTVXZQTTFIYitwa1hGYzJWOXV2L09S?= =?utf-8?B?bHV2YklwZ3NIOXplbXlMUTlVb3NyeDliak1IcDdiaWx1a00yR0J4ZEdIQ1Bm?= =?utf-8?B?ZEVuS2NKK2VMamVLMWw2dWQ4Ui9HL3Z2a01VMmJ4Q2ZYWVBhd3gxbTFLdlU2?= =?utf-8?B?TXhMS2hLS1g2TjhoS2cwdEpDeG55UDlzVjFwS3ZYamNabWlJMjN3ekFuTUZI?= =?utf-8?B?RFhiZGhyRDUwQ2k4OUFyK3h6aTYxdExnUmZtelJqQXpib0FiRTBHSnFGanVy?= =?utf-8?B?eXJmdWR3c2lyU2lUejhUS21QRlhrMG84YmlpY1JaSFBiWE10SktQT2djL1lR?= =?utf-8?B?ZVRncVNkVy95MzRpaC8wK1RkY0h3R1FVcGxBYjhLUVd4SG1yaUJKN3BvZ3JI?= =?utf-8?B?Z0Q4TFFDZGJ2c1ZSWURZR3lsdFIvTm1JLzlIRGlQWUtTNDh5aE00d3dhL1Jo?= =?utf-8?B?cm9xTVRSdmhkVmJVNXh6c05UQ1ZDa0JtdmRBd0dNQXhlcjV6Z2pkWUZURHlC?= =?utf-8?B?cFQ0ZEY4UWRiTmRBQmVhR3M3NDB6Ung0ZW9VZ3RFWXdCTkNvalJOMTJuY0Mw?= =?utf-8?B?S0ljSjBURHVpS2JiVmFHZWFkaVJjYk5GaEttUEdHQnpjZ3Y5aG9icVdxOTJw?= =?utf-8?B?eXJTaGZjVHRwVU45WG9IQlJ5QXdiWlZHQjdyZlpRbk1ZSTVOVjdsdzdMSFRK?= =?utf-8?B?U1Q4Ui9zMnRSRlF6SzVMQ3VsY29rZW9oRUNNeGtzTmFYYVpQaG9GUT09?= X-OriginatorOrg: garyguo.net X-MS-Exchange-CrossTenant-Network-Message-Id: 861e1c19-e0af-477e-4c92-08dedab4c35c X-MS-Exchange-CrossTenant-AuthSource: LOVP265MB8871.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2026 16:45:04.0520 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bbc898ad-b10f-4e10-8552-d9377b823d45 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ywR9br1V2Xz9CUURa2iMCr85snfXtjcROvkxKwqcvMRJRNgSV2ez9+ocyOOee+nRyWZELXQ8zsgs7niRSgMMlw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO7P265MB7479 On Sun Jul 5, 2026 at 2:59 PM BST, Alexandre Courbot wrote: > On Fri Jul 3, 2026 at 10:49 PM JST, Gary Guo wrote: >> On Fri Jul 3, 2026 at 2:09 PM BST, Alexandre Courbot wrote: >>> On Fri Jul 3, 2026 at 9:35 PM JST, Gary Guo wrote: >>>> On Fri Jul 3, 2026 at 3:57 AM BST, Alexandre Courbot wrote: >>>>> On Fri Jun 26, 2026 at 11:45 PM JST, Gary Guo wrote: >>>>> <...> >>>>>> @@ -309,7 +312,11 @@ pub trait Io { >>>>>> // Always inline to optimize out error path of `build_assert`. >>>>>> #[inline(always)] >>>>>> fn io_addr_assert(&self, offset: usize) -> usize { >>>>>> - build_assert!(offset_valid::(offset, Self::Target::MIN_S= IZE)); >>>>>> + // We cannot check alignment with `offset_valid` using `sel= f.addr()`. So set 0 for it and >>>>>> + // ensure alignment by checking that the alignment of `U` i= s smaller or equal to the >>>>>> + // alignment of `Self::Target`. >>>>>> + const_assert!(Alignment::of::().as_usize() <=3D Self::Ta= rget::MIN_ALIGN.as_usize()); >>>>> >>>>> With `Region::MIN_ALIGN` being `4`, my understanding is that this wil= l >>>>> make `read64` and other infallible 64-bit accessors unusable on untyp= ed >>>>> I/O regions? >>>> >>>> That's correct. >>> >>> Isn't that a limitation we may want to eventually address? The fallible >>> accessors are still usable, but it seems arbitrary that the non-fallibl= e >>> ones stop at 32 bits... >> >> It'd probably be solved by having typed regions. 32-bit is the most comm= on >> alignment for I/O memory, so that's chosen. >> >> None of the existing Rust drivers require 64-bit accessors yet. > > Mmm I'd like to see whether we can't make it work for untyped regions as > well, but since we don't have many users (nor do we expect many to come > I guess) this can be a follow-up. > > Reviewed-by: Alexandre Courbot See https://rust-for-linux.zulipchat.com/#narrow/channel/288089-General/top= ic/Generic.20I.2FO.20backends/near/601402429 However, I'd prefer we eventually use typed regions. Best, Gary