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 DEED6D743D1 for ; Wed, 20 Nov 2024 20:07:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5294C6B00A0; Wed, 20 Nov 2024 15:07:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D9FB6B00A1; Wed, 20 Nov 2024 15:07:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3059B6B00A3; Wed, 20 Nov 2024 15:07:38 -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 0E9A86B00A0 for ; Wed, 20 Nov 2024 15:07:38 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id BF8F91A102E for ; Wed, 20 Nov 2024 20:07:37 +0000 (UTC) X-FDA: 82807555908.01.4D7F943 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf12.hostedemail.com (Postfix) with ESMTP id 329874001E for ; Wed, 20 Nov 2024 20:07:11 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=cPsnFrBd; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qGztCsp9; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf12.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732133104; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=puGl8r8YIGiNyTVtJFULGbTANE+lY2qURrdNOA25ZYE=; b=7fgIH2qyl1udiybqTCE24Qh2K8BngaeDKlW7d4m5idN5jf8K/n4Ka5FLJCG7aCl2iFhvj3 /gMUh3UbTYdg60kEATZyDaWkiYdXf50i0xckMB9Fe4qTquWGe0IaRJk3znuHS4/nWXMjMe XrjHG0/5etVyVQ1DuVpo3bkWrfgKd/k= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1732133104; a=rsa-sha256; cv=pass; b=0XZI2pq2fVnTHXzoJ/7ShJJP9QoDJphYZ96PCLc2Kp3H0MtfjzzUtDJJg2Y7g1QAdPgi1v eWaZYrf4aeVEX5IsZDH/jgUdmEjNU39zFIl/C2L5jHwyxqKUa6YZNoJMq2Pur8WchUGxaU fpaZjZ5Elin3uPey0Qn52V99HlJ3tt4= ARC-Authentication-Results: i=2; imf12.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=cPsnFrBd; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qGztCsp9; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf12.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; dmarc=pass (policy=reject) header.from=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4AKFtg45012693; Wed, 20 Nov 2024 20:07:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2023-11-20; bh=puGl8r8YIGiNyTVtJF ULGbTANE+lY2qURrdNOA25ZYE=; b=cPsnFrBd3kOqTYN1IEJ4AnOdefWogLWhW3 LK7/qeo1JIcEwHjTGwDO4PwNT5bRmvZsjKbrukDM+pu0JoJny2PhaMgJQMXZANOs xAvVnmMmsTzZri2DmroLSfesy7femaCJV2/3Sbp5o1EDd0Lfd+O8wyl+G4ubvXvI PBt2tJtkawlF0u+xgXSLUVC9cywV7Zd54Z1xSoS3q4mt4Y9zEQOOaL/QE1t83qp5 X4gzdjruHIeBUfcv6owEUN2shQXi6/cnK0eNyAHqL7wMhZsxZZkt1hARlbVPRNFn aN9BZam4iJyNow2QZCQ/LIj2BKKC2m1f11/NbysCoQE7ag4C/6AQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42xk0sr8sk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 Nov 2024 20:07:21 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 4AKJKkUm008934; Wed, 20 Nov 2024 20:07:20 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2174.outbound.protection.outlook.com [104.47.58.174]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 42xhuat6aa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 20 Nov 2024 20:07:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cN/uhytK0f1K3PNTdjTKNk9Jih1Yqym+tmwIAB5/vOTogtYgS14M6DwJt6y8v7Px4IuCUc3daM3SXvix1Zi7oBkRBsn/b+tS4mOdvceScKu1tsJC+aNSb0If+/LKQ+xJXMGgyWktbcbdyEu76XDOPy818B+mgoH82N46yT9tzxgoov5qiNyp2AMomlDNUBNJA4qou6vwIDiOXVYmQ63tZ9mELOLpcTGzkv3uqIX2UaBqpLE4OjCbdJx98Kg8jodhHP8aSAIQBuK//CAjakPIHGRDTnaQcabZ1Ll1v8nV1iPB33jw6XO8yRVQvSoT084GKbgbZwCpFqb2fEcHMZxHwA== 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=puGl8r8YIGiNyTVtJFULGbTANE+lY2qURrdNOA25ZYE=; b=rwT+DuBHKNiOFPuHTwFfrbjGOG/+0DMSmUWydtsFq4YV7h0JM9RVb7ZEs4j/vDaysg0R2pbmmIMhxiUEOI9EaJ2g02ijoKl3FDDGz+njjtIqm3Aj6yhnqHTs2efO+I9ML7+o+kwofqgRHnsiAtS9zFR50pORG4rF1NkgrudLGPFgjKx2ONDiWkxg5nMPPUt0mxVPW4zuuqXDMwQo9Hpb78Yas5oTs21HCEYPdNYefhjJ3ldK4xyq44NKW1exsC6+TJorV074DHvzvSavC2qQDomM9sV8hpm+B5m71veWoh/uFWWHlz08z/a4oUombsW/ojiMkTKhRs3+bLQYZ2OZ9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=puGl8r8YIGiNyTVtJFULGbTANE+lY2qURrdNOA25ZYE=; b=qGztCsp98TP+qFfoWQjHO3q/GYUkfdv+c2kuZqzB7lMiF92jD7wwmRnYcCurnv6mwbCPIHKS6ClSukkQG7nJ9I1XpYJiK2jIpBIYv2mp4rSUo0GIKf+QSyYyfMgHbTaakYa9PClmb4wvcnC/nNFAM+HBZQNFGeVnfnSlGcyhIbQ= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by CH2PR10MB4167.namprd10.prod.outlook.com (2603:10b6:610:ac::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8182.15; Wed, 20 Nov 2024 20:07:17 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%7]) with mapi id 15.20.8158.023; Wed, 20 Nov 2024 20:07:16 +0000 Date: Wed, 20 Nov 2024 20:07:14 +0000 From: Lorenzo Stoakes To: Alice Ryhl Cc: Miguel Ojeda , Matthew Wilcox , Vlastimil Babka , John Hubbard , "Liam R. Howlett" , Andrew Morton , Greg Kroah-Hartman , Arnd Bergmann , Christian Brauner , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?B?QmrDtnJu?= Roy Baron , Benno Lossin , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org, Andreas Hindborg Subject: Re: [PATCH v8 7/7] rust: miscdevice: add mmap support Message-ID: References: <20241120-vma-v8-0-eb31425da66b@google.com> <20241120-vma-v8-7-eb31425da66b@google.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241120-vma-v8-7-eb31425da66b@google.com> X-ClientProxiedBy: LO6P123CA0011.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:338::15) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|CH2PR10MB4167:EE_ X-MS-Office365-Filtering-Correlation-Id: cf3e1761-9387-4ce2-737f-08dd099eee7b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Tn8m1NQwJILYQCOCMs+EVj7kZiSGF+b9liE2UJ6fwZdZ1s9abKzLHT9NhFpk?= =?us-ascii?Q?yNOuzZcwdxOW0f1xllUK8GQaso5NzCZm9enDdSAEjWPgfWNSY9bN8SciGnnO?= =?us-ascii?Q?c+lLYlq5q2VOuF2fwVekRsYxyIWXj3khPR1hOMDMEN7nzbOkhcq8pxnorYqR?= =?us-ascii?Q?W7O2PoCpyuZJYEO5AXxPjkHF4p7lHg6UN5ziPkynbb9laUN4Lo18qziV5wsK?= =?us-ascii?Q?Pt9xJ94HXXDxVA0bBMPx9gEz3Zl1gp3sm/FnzbzruBr7QOXcXidAICCnJEid?= =?us-ascii?Q?4ofNJ+FfbTCfsI0p84uWa9iPnjXcGsrJDb/X0C3Avkj1jkfjRSajnimRbdTl?= =?us-ascii?Q?Y5/gplOPMYLjFomyXBXneQGvjRucSm7B1erNaEw7wcpLEpi5pSqMbxbGf9ZG?= =?us-ascii?Q?x1bFAgT5NBxyORt4pBAQKVkgZ/GcTjrGG0TR0HXL77hq7yZ9K+rxNv3d5Wr3?= =?us-ascii?Q?CyVFrvkX+Vd/n8ahEOHpW2qTueD9mCYr97098hKoYueo8IDL9AU2WAamPiY4?= =?us-ascii?Q?GrpmXpjusgIXiXh8fCADt//+qf/BxO2MaaKHLXniwNqpvT5itAneMsoK8wjY?= =?us-ascii?Q?WoAE8foAi6fYn+xIk3IxHZ7LbzxurHugj42Vadoy25ouiNi3WA5unNmzKkfN?= =?us-ascii?Q?KB5sVayhrQ75znTf91nEom1VQ1deAmNZ+ZMgRoznNL+1Wv1Ej9camDbFjOZn?= =?us-ascii?Q?22zAaB7b+HsqdFvKW4oQEWt6wTwi0lRyq3o9kJnzSfqjZYJD22oJo18YxMzp?= =?us-ascii?Q?Kpsj6aIB0hY0LZF1CumAkmZerjMekG8as6uDCLoFpDDpT/8VHTd2ZOVeZeg5?= =?us-ascii?Q?A+Ps55bDXvlkBvNRBs6eFZW8VhZNVYAXahf4q0fcG2utcfVA5w5FZ3C4/A+3?= =?us-ascii?Q?VSdrJtR4fS7UeZLZbeNYIcWgk0nculLgs2tcVS6xPXNtgFjL5xpEu7umqcDG?= =?us-ascii?Q?9ZWYb8zu9ykhcF+YeyS50m5OmCq3u1MJPbjG74sbtEpku9KyrUwS7sGzXK7n?= =?us-ascii?Q?Efln4NwMMhgjvGFg2NeWEAzDfAiYgfn+4+raEDMekFZph1w+kcuXW8tF4JYb?= =?us-ascii?Q?pQ/xieJ0vEwcJyYbuNtBW4p0gkqa8bJ1GTYatp7bjkJWQAfLs1AfifooFVhX?= =?us-ascii?Q?AKRcyJWu1+h00c4iyDnrZGzweGuRTi0KD5yuDAib1m9CwXbmAhdZDmyspdqv?= =?us-ascii?Q?czSJ6FPalNcDHyeAlWh/xqq0sW4452HUeE1ERZ04bP0aHXrsOzV2mJw2bgO8?= =?us-ascii?Q?1KRCZsNCRjp57t7Je1dOmQWoDo/eh4j681mis5VBi3xeuAHGYf0L55yVyS9X?= =?us-ascii?Q?u/wF9d13Eop3qMGGGpUr9GTK?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?M9qxNwGdBs6ZSwwT2UQW0tgsEcE5i4PzZYNsmhJNr5Z7DMqDsAODerN4uatj?= =?us-ascii?Q?BMNH70zB4JeGJYNocRPchsavuKVkAVsdbTHHLwbBWbg4QykGbHYi5RoZj/FJ?= =?us-ascii?Q?hsq2+euZm9hyOXgnrcQoUJUzPV00/TRh4ztFm+x24j1CBoVAHGdyROPGF3ns?= =?us-ascii?Q?Z6TxWe7zOJAmOalrKOCHYLOHasQ8svEudOtzkKyDQBeXcXSVO9sdU+JrXzke?= =?us-ascii?Q?nPAO5nqouUg0lxNBQTauGP5GttneCYT4hnsdcL/6xNLAA7/m2NSeOm6s9dUo?= =?us-ascii?Q?hGTP7ZO0NvBSbhZz8OANzYqwCXR+W5arFQm6yMwSxA2VOo/gMB4tZOE57Pou?= =?us-ascii?Q?91K1KXk4RcQxGeytEIPFBCyRPJAXUog6t8Y9SI5t2NyPg42cK7iPEBQR/b7O?= =?us-ascii?Q?YNIEKM6WNZucC/rWR30tJ104z1bOpFkpsQmleIGbAAHkPOO7XRP0pbr6jVvq?= =?us-ascii?Q?JLnrck9Z5kJYQew+UMhFlbcR9o+0Lr11YLBtbZLs1sX4qLFCPFwrcnwWUt3w?= =?us-ascii?Q?SpsLEx0/e3B5rBpe23eZo+a7VtrpPwip4FegagGU82LfoO1ZkwyRhTyt9Fg4?= =?us-ascii?Q?n9pyv2ley8+8RiNn6irHDTRHS4PLt5B96rUCqJPHP+QEVFpLTc9JVfGLBVcY?= =?us-ascii?Q?QQSh4wFVBbOeoMhmUD9bvMLuyBC1uWrfK1eQ2k00fuWU+K5956rTxybNYaca?= =?us-ascii?Q?I0ZPEE81GOJXtkmP/bz1lWg3QPRPt1R4SndwoitaVCwFnBZV+agev4scpiop?= =?us-ascii?Q?q8Y4DCqC43HCGWd5MoUqcO0DAf7ZapcOA9SUVYQsboL5xR2aL/U+o0nV+fsA?= =?us-ascii?Q?ZYPp1B0kBL0JQ/bNwscMRd6sw7/o2TShgwnJUMWtU2LPeU8+oeVEQkIvyOL2?= =?us-ascii?Q?mDy+acBFbWD1E7rx9d+qEve2moE8iM9hfSyL9DQxcbvf5TyMxKKgl7ywsnjE?= =?us-ascii?Q?i2N49BFUpup52dp1WS6VoCR9fvxVkBKOJEmY92h8Werxn+qSsRKUvXkvZI6D?= =?us-ascii?Q?NfsWq5GULlCmBp1orN0peb202OZY7oGPSis7PdsxMNoeCAZzTNndHy79PK8M?= =?us-ascii?Q?BFO49LiA/IYW9cjiflh07Ws0RzjGSqQqcB1ed0aTuutpmREvjRsph2JshTda?= =?us-ascii?Q?OtB4x0VOAhCOc2SEsOXeaM+VwHwxnNgUG/WfN0oLuurFDxr52ldtsyzq9dT5?= =?us-ascii?Q?EwuhiuH/j7Vy7PlMY6bBSfCsb/BbPHczrKnrCVzQScgS9bMBYKJi1qz1P1kP?= =?us-ascii?Q?6F38YNCn+xoTIk55C01jJmYkuGbq4CC4n+gD7Hm1kXxhSisQnwkkBX/xi3Ea?= =?us-ascii?Q?4JePIRqbBiTFkMNcYdoaKW/2AbjktGSxcOvQhlneijQXtXqjpwZPA8TYr+so?= =?us-ascii?Q?yOiGdthA3A10y/Q8Icemrew6ne6pegkhbNjEBKyofwS2NBrEPPC/tMKOiaZx?= =?us-ascii?Q?L6n4gejRx0Wy0cg0Z6VMOymoxv9u3qVUTxIduG9X05LQgF/YyrLtnGXL7v4n?= =?us-ascii?Q?IBcs9wqAgCIMNi9/dGl9m6fXdRduFBtSzUMXy08PJ5vdyFGGpNPPoHvI/isj?= =?us-ascii?Q?OXFGvj34gFv2A3CDGluTkJnbGGB3h5vqI3Fncys/vshNpM/uwck1lKcbyyFI?= =?us-ascii?Q?zQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: idhZKZaQq/Rt5Cl2l4qChXoQ1LMQbGg0YCTyaJpaiCwX4BU+nQqQcx8DXAOJyVrBzhwRzgRun0hWYrUSyC8a+Q5wbTUv799nCovTBIVhtDnA7vCTTcuwtCVCslLCIjjDv6IDeYCxwMl/b0EJjUY37kTXxQf8Gn0bcWPI7BIGy0fq+XnSOvcdjqucts9Zt1oNSKpxdgYUvXl8gMtNZ3b9RLJvQSoNx4nXrR0vtBrF2hiErdanC5gc3SLdTya8Uvs+pvGnbWoP8nSDb0WGZcZ9upqDvG/Gl1AFJyqNNZcwAfdD1Qz0sy5sH2orK9bDXfKnTrY0EowNAiPUxxQeVwWYOMUYSNJYChhY10EPsLU4O+aqoMqoqzWtwY6RaPvPMxs3FZNWc6CduZrfZ0LftxXlpbNOBA0X9wjiUqb6W83VpiN+7gImR/WoysMBgy2oxZCnKSZNiBPfphFYMUQhCAkTtskGd96C+now66DpKbTIovkWbsfryme+PV9sYGDHWqt2uUbL2IOukvfXZI9G+AL5mAHewRTJ57wQIj6K24AozyxhXVddLGuiFmv/Zb4riHV6+NpdzfryBbeUWk2nwLmN15pIFiy8p8kuj/pNI210Nik= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf3e1761-9387-4ce2-737f-08dd099eee7b X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2024 20:07:16.9388 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6CxhPVZmygdDJCma43ClVy5Y4J+QNVhPjemcXpZUCoQxPlYwpwMkvMQUT39rfXFMx3kaHFr8jsYqbCU018g/8zBHT1HaDPdFtucCi6AJbvY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB4167 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-11-20_17,2024-11-20_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 suspectscore=0 adultscore=0 bulkscore=0 mlxscore=0 malwarescore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2411200140 X-Proofpoint-ORIG-GUID: cJ2tDxGea0pOWRY8d068liSHDLo68SZ4 X-Proofpoint-GUID: cJ2tDxGea0pOWRY8d068liSHDLo68SZ4 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 329874001E X-Stat-Signature: e1wz1sgy5hwgdpx65rqagf77ox1sniqu X-HE-Tag: 1732133231-922998 X-HE-Meta: U2FsdGVkX184EtK28AfcEYY+6XGW1vSGHFiNFG6Pzk4PdeJwu1wLkVFLAtjGe1cymVISwR56xQxtnOzOhvJltRe8a6Hw2iiHo/07D4WB4NTN9BM971KqcNB7ZVyN4F2F5z9GKxXnec1WioA72VYQITRozqwKQ+QlfGibu3R1Ql9CtIgtTe+LDxBtfHLdzzEtXu93BOIdEbpfA4OzFcfRRegIOJQTI6hFMpwBLwgEnkFEtRfMjhyFWDnZ5l2OagGpbZepm0WkGCP/1PmTtbxXWPJF9oLCzYzHXx4iqYH/UGn0iB1XgUGxj873mcocQxZXOUkT9raFYtjtzBqPgD4s8VXgWg1bWZYEHpFtrmBDwoJpBeTIkoM5gQ5r6CDU3gNE7Fhv31NQboAIawqFILfx0Mem1cDCoJazQDqKwDTDQ3ZYhc09N/eaUXF3H7BAYZonBATZWY0HoaxWlEmXLv60uRphjFUFcgBQMuNDMiApgVTPlWtcH6aCtD66U6VxHDji7/GEnUHYOgWk+mq5pg5Kt5x+I8nVxEod896eW0dyd/cGErrvgjehGzeeUBH1JovAcS/xKbsqL4s/j/XfVgByvPd17HKl2bAGK9fHc+1rBS3uM4IJxIbt4IQ01D/M9HwKGiUzrqvV+zqcZFOkgQlBeS+X4sp4EqhxIo1RtStIYzHYJ1JD0gCNCNkba55e/8VEcsJDNwPkMmkzGCC4LwTf9RjTN5KfYZPAMRb4DIZpu+e8K73rfkXifdGoMOP3IIkvNzSQoSoB/KTT4CUryb4G8CQRMuqiyrDblZsJgBTVrgmLOU8BvMN8OZXIFPrBKqVZshqXJazKh3LERlp+RkxZWoClTbd8L557H7X8S5tz/jfmIsh1Y3Xr3v/y9jupaaVgxKT5zwNPwWemNLGf7swDaSFFBpPVOGP3yyt1Erv1IyJwqg9iGKpi+tg9PPL9rP+emMjTAp7qt3256RHr/7z 65L/neTp QtwYAnZkqSMNfjn11BTF2kiNIyxSDgdYKJKUmdqWrRSDQDDnIK23Pl0HIldOJvLjFszuCKla6wHK13q5vcI7RpsnJj2m8kBI9kkf7/bdR/GJ/zfbxZ3FSkTtHe0DME6Q4lGl5NhhS5LTxrpwDL3idFdkbFe66lPG00B266i2Y0F0cvop4bE1oiMkKpnM2VMlqZhd994kTZuyT2eaOxhjFmLiSBEy43l7IVtqrTuyV9FT0v9UaHpEIg6FozENDTk6upBAQ5t3NDusW47il968DeivrcolNup9uexy7r1PF7reTs3tov+XYk9cbO4lO0ilKDjryIv/8287uoq1bIpJhzW0RTeb8+nxxsW5detVl1+gRT1DVz7nhmhLxX8vqHE44W2+FLQ4OyqFpZW/Ij+xVGFCo7k973GB3+jeL5DC1CUezZ7dMHxoXKl+b62kQ9QB7pK+RxHG9FtW5zvaQu7FEY+8ZkxzvoZ5azscFRepur8jnX+BKYrf5X+2tvlNILi1m0CryndQKamLe80yIsCHpkmlFA4M+tq7UvdK1yrThFuk4lA3fm5htfi+pcOu2e+F8c3TK6injKDZe3gJySRVwReqkbV3E3RYhPlxhQ6jllXX0jBcfLFizA+HEZ3XIH0vSZ87LpHBEsQsQ+b5FjwQ2vUO6P04qBRqvy3/yG2wfKr2df4M= 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 Wed, Nov 20, 2024 at 02:50:01PM +0000, Alice Ryhl wrote: > Using the vma support introduced by the previous commit, introduce mmap > support for miscdevices. The mmap call is given a vma that is undergoing > initial setup, so the VmAreaNew type is used. Again, I'd be explicit about the VMA being passed to a struct file_operations->mmap() hook on mmap. Otherwise this seems super vague to me! > > Signed-off-by: Alice Ryhl > --- > rust/kernel/miscdevice.rs | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/rust/kernel/miscdevice.rs b/rust/kernel/miscdevice.rs > index 7e2a79b3ae26..4e4b9476e092 100644 > --- a/rust/kernel/miscdevice.rs > +++ b/rust/kernel/miscdevice.rs > @@ -11,6 +11,7 @@ > use crate::{ > bindings, > error::{to_result, Error, Result, VTABLE_DEFAULT_ERROR}, > + mm::virt::VmAreaNew, > prelude::*, > str::CStr, > types::{ForeignOwnable, Opaque}, > @@ -110,6 +111,11 @@ fn release(device: Self::Ptr) { > drop(device); > } > > + /// Handle for mmap. > + fn mmap(_device: ::Borrowed<'_>, _vma: &VmAreaNew) -> Result { You will have to help me with this :) ForeignOwnable, Borrowed<'_>, _vma I'm a bit lost here! > + kernel::build_error(VTABLE_DEFAULT_ERROR) What is this? Is this not yet implemented or something, and this is a placeholder or something? > + } > + > /// Handler for ioctls. > /// > /// The `cmd` argument is usually manipulated using the utilties in [`kernel::ioctl`]. > @@ -156,6 +162,7 @@ impl VtableHelper { > const VTABLE: bindings::file_operations = bindings::file_operations { > open: Some(fops_open::), > release: Some(fops_release::), > + mmap: maybe_fn(T::HAS_MMAP, fops_mmap::), > unlocked_ioctl: maybe_fn(T::HAS_IOCTL, fops_ioctl::), > #[cfg(CONFIG_COMPAT)] > compat_ioctl: if T::HAS_COMPAT_IOCTL { > @@ -216,6 +223,27 @@ impl VtableHelper { > 0 > } > > +/// # Safety > +/// > +/// `file` must be a valid file that is associated with a `MiscDeviceRegistration`. > +/// `vma` must be a vma that is currently being mmap'ed with this file. > +unsafe extern "C" fn fops_mmap( > + file: *mut bindings::file, > + vma: *mut bindings::vm_area_struct, > +) -> c_int { > + // SAFETY: The mmap call of a file can access the private data. > + let private = unsafe { (*file).private_data }; > + // SAFETY: Mmap calls can borrow the private data of the file. > + let device = unsafe { ::borrow(private) }; > + // SAFETY: The caller provides a vma that is undergoing initial VMA setup. > + let area = unsafe { VmAreaNew::from_raw(vma) }; > + > + match T::mmap(device, area) { > + Ok(()) => 0, > + Err(err) => err.to_errno() as c_int, > + } > +} > + > /// # Safety > /// > /// `file` must be a valid file that is associated with a `MiscDeviceRegistration`. > > -- > 2.47.0.371.ga323438b13-goog >