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 653A0C47258 for ; Wed, 31 Jan 2024 21:41:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DBDAD6B0085; Wed, 31 Jan 2024 16:41:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D6CB36B0087; Wed, 31 Jan 2024 16:41:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B98B66B0088; Wed, 31 Jan 2024 16:41:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id A1A696B0085 for ; Wed, 31 Jan 2024 16:41:26 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 68EBB120D50 for ; Wed, 31 Jan 2024 21:41:26 +0000 (UTC) X-FDA: 81740927772.18.545F621 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf29.hostedemail.com (Postfix) with ESMTP id E9E97120025 for ; Wed, 31 Jan 2024 21:41:22 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=CG5KULzV; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=AWxy5ai4; spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1706737283; a=rsa-sha256; cv=pass; b=JjQ0RH1iaJGL4Ip/EbLVYtaHhO6FbsKZpY+J8pmbcnkA2Hi3wRtmvTsweGEMVd/uUkI5Cr JF7ZXkRbEG6L64QJRUunGZwTt0g7f/gzkDOb+O2ZPfnKt/DRry/I+vWBh0pS2rOjhSu/YM rGeMt9fMHEeUw/fECA/Hj2/Mpns5jG8= ARC-Authentication-Results: i=2; imf29.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=CG5KULzV; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=AWxy5ai4; spf=pass (imf29.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=none) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706737283; 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=M71YxiMIIUxybB5vqH5foKg9OnqNJO42dR24vo6aXqE=; b=QtAqWXR6yzAM+YYik46A6Nd9Gp6xMpfgPs2Hd2KpYkuxD/MA5ZE2kAtNDCbuWTnlqJFLNS YXaMhQT1b1vwjdX67A5/OJG9apxBUXfJ4sAZxpJwbTscmwCLwjhALYxDAtDiqQKt7eKhox eLSSeCaLLW+ylV9plrdwQePKQNXCzAE= Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40VHBp40008446; Wed, 31 Jan 2024 21:41:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : content-type : content-transfer-encoding : in-reply-to : mime-version; s=corp-2023-11-20; bh=M71YxiMIIUxybB5vqH5foKg9OnqNJO42dR24vo6aXqE=; b=CG5KULzV92fsqEo1NfEVsYXjjuu1Dqx/st8ywl6sHLhMX1bX32nDUquUmSl3p7/MHvLl P1kFjs5yLpMDgAsz5pJChUg6L9kDV11FEKpcZ9B2iYrafglBSxC69FvjI05aeU9feZnr ikkNiLF5Gmz7jH1RlhTf+V35zAaqi6dNRcTf+kpf6DtqFD+OF+ZElf8Id2U+fc+G8UFp HqnInzrK29F3R73TlF9Qn2WtoX/UGYBKz/YzGRcad8IgdRcvSZkSH6UqefvJL8vt4rBw t+JT3qfZZ9YRQKxUdAEJpyiF5F4jbk5SrmP++6+x3tny0miiar3OpVzdCTzZnn9TdOk7 gA== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vvrm431xg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 31 Jan 2024 21:41:11 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 40VK7ZVK036101; Wed, 31 Jan 2024 21:41:10 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vvr9fxeqt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 31 Jan 2024 21:41:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UZZfIXyIJI5mSsX+ZBqzYcinJdHVVjPV1cvAuGVtexAEn/peDUtr0+xUxAI3kb1Ti25Rk5sDUowIsrYIj/N+3eOxjaCZ6JDSBLKTDW73rsDw2arHvfo75u1q96u3R02DNuNig2dj1HB0Px2TFKYUp853WpioLviVphgYpsgd5kM291khl03dgx6YIry8nPUTWcNotnM+D6bPJ5h52PTToinYFqqn/cJh4iixl1jvqtdlWXaSesYYCyzpUJXvQeR8BxyI27h+umYGUbodUiKJg1chkEfVWJ3zXUlv+v+snYr54tHChoAdlybTu51aDSxfHTKJcjNK6EayQdJ3fJwoNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=M71YxiMIIUxybB5vqH5foKg9OnqNJO42dR24vo6aXqE=; b=dv4J8mq3Pa3r1ebyJ2+0oTEMmAmBCsu9woOJnnDs0kARl9SqSSRDyORJErn72HHJgA7iaowMwwLVWeOqLx3ysdPNbAnFkjNir7R3UiE0n/o+TZbNu41W2W7ZxNIzJY8hB16hrHJW9/MR7r8TizEoSM7LjomG6SAgCsi7WEmp6K8pmk5A1kAJyhoOrsFXL14uW2vS3foSzWdw1aWWgJvjR+S/6TTEcqVIP80UlzPCIiUiQ8BZD2zP79wBkiNQZLUKDU7zht8EjgE4scprbT4yPu1rqjl6ajwH/kFOp2S60RYaFHx1wEm0vv0E4VR/MkwtOxIiS43ZdbP//lhJT71WbQ== 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=M71YxiMIIUxybB5vqH5foKg9OnqNJO42dR24vo6aXqE=; b=AWxy5ai4V8WyTnf1oTOZAtoASpb8vOrBQKjWYUTiGw1rh8sr4MWlSuVsO9bq866EfWgY3oZ2qQ1ruxnG9iUPY7TAcSDjEPD7Ch4sZntnQc6wZunrAJeaKAVSyG/j200NJZ7mb/0507pdGCssQilb56BAOlr5hPm7++CQ4j/Jt2I= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by DS7PR10MB5037.namprd10.prod.outlook.com (2603:10b6:5:3a9::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.25; Wed, 31 Jan 2024 21:41:08 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::20c8:7efa:f9a8:7606]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::20c8:7efa:f9a8:7606%4]) with mapi id 15.20.7249.017; Wed, 31 Jan 2024 21:41:07 +0000 Date: Wed, 31 Jan 2024 16:41:04 -0500 From: "Liam R. Howlett" To: Lokesh Gidra Cc: Suren Baghdasaryan , akpm@linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, selinux@vger.kernel.org, kernel-team@android.com, aarcange@redhat.com, peterx@redhat.com, david@redhat.com, axelrasmussen@google.com, bgeffon@google.com, willy@infradead.org, jannh@google.com, kaleshsingh@google.com, ngeoffray@google.com, timmurray@google.com, rppt@kernel.org Subject: Re: [PATCH v2 3/3] userfaultfd: use per-vma locks in userfaultfd operations Message-ID: <20240131214104.rgw3x5vuap43xubi@revolver> Mail-Followup-To: "Liam R. Howlett" , Lokesh Gidra , Suren Baghdasaryan , akpm@linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, selinux@vger.kernel.org, kernel-team@android.com, aarcange@redhat.com, peterx@redhat.com, david@redhat.com, axelrasmussen@google.com, bgeffon@google.com, willy@infradead.org, jannh@google.com, kaleshsingh@google.com, ngeoffray@google.com, timmurray@google.com, rppt@kernel.org References: <20240129193512.123145-1-lokeshgidra@google.com> <20240129193512.123145-4-lokeshgidra@google.com> <20240129203626.uq5tdic4z5qua5qy@revolver> <20240130025803.2go3xekza5qubxgz@revolver> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: User-Agent: NeoMutt/20220429 X-ClientProxiedBy: YT4P288CA0086.CANP288.PROD.OUTLOOK.COM (2603:10b6:b01:d0::20) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|DS7PR10MB5037:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f496014-7ea9-4d02-7de1-08dc22a554f3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: f01fVXjkeLqvZ/rH3/NYTlBKmPgrOuWdaxf8xJXS8HZd6D1tSOExZHMR/TVrVzBXeTTJgqOUYYpEYrZFHmZ3nQrtrEX+Dbygxk7AtPzk1EEm8Hnwsv9fH0zbpOO5SfUJ8o7fnfiYhTiRmdiTcXtUZa3ZBq0LAjRHWGZ4lvOvb/icPHg4CmSE9j/oBBkWHmms6Zq8loSIDZsc3M1bqUhqi0mgDxINX4dd5CNxwP52qAHrnMibYbDgwrTo8GUM1PDgfnXqvJ6HB4iENCerq7w80Lg0fxoRrb2hi1yNuZQfp9mcmlgE7w5/GRWiV8QqN94u4X2ETcmYXUDsaaTgW90T8R6v93pMPqzR8gT+5KR5E9bx9CmVB5ncCGMeOQtZ81YM/nNLT7hlJuZ0m/8CKqqSezQVmA9hYzS47pnv8XhqN3uciL2kEOSif2mSS2p+ik/VMTNIP5cRa0vWUBDzBICE77OaD78DCgFPrfpQf2TEIj21XPlGA34LOjmMAU9eqsOLhx13LiFXwMQhnTh3CH52giMuvT69UYipN0plnyuppDWaCnFNjkEn9EFnVgUXi4pp X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR10MB7933.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7916004)(136003)(376002)(346002)(366004)(396003)(39860400002)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(33716001)(26005)(1076003)(41300700001)(6916009)(316002)(66476007)(478600001)(53546011)(6506007)(6486002)(6512007)(83380400001)(9686003)(6666004)(66556008)(38100700002)(5660300002)(7416002)(2906002)(66946007)(86362001)(4326008)(8936002)(8676002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cXNHVHMyNForVmF0SnRnTVBIcG84VTF1eWpWblkxajF2TFhTV29ZdStNYllQ?= =?utf-8?B?ZHVXRjVzb2xESmlFdWFSTk1OU3ZQQm9BeGpOK25Pclc5QVNabkRhSUlpME9S?= =?utf-8?B?NnREZDNwNFVxUU9ESlIrZjdmSEs1TC9tVTlCRGhQR1RBcyszbEJOK005dTNV?= =?utf-8?B?Y2RvUytUa0hHNzVhYmhxcEhrdGhvQkdseHRLYjlxbUJNeVEzRzdLOEZpNTVI?= =?utf-8?B?VEZ1YUgxL29lNjNWTFhNemlqQW1PYVZSRTZXN0NlWlVjdWQvb3lDMy9GQTVP?= =?utf-8?B?Z3kwU2E2Q1dvT25qTEJIcVF6L1ZjLzRQQ3NwMWs4ajYzeUw2amlLQVYzVXBS?= =?utf-8?B?WkM5djlvRnlmdmNjenlMM1ZuNk5sZ0pBZ2lmbmE1VlZaR1hXcEtlbTBBbERw?= =?utf-8?B?a2Q2N0wzSTZMa2cva1hlK01La3lrcnQvdHlkOGRCT3FHSkw2WEpTMG5oMktY?= =?utf-8?B?ZlJicmRwQ1NYa1RJdHFZZzhpYjFnWndIbVk3MWZYOVplMWlCcFA0N3hzL3Fz?= =?utf-8?B?T0VFUG10bHVrRCtRNDZ3S1N4RE9GZXcwa25pbUluOE55YXE4YUM0MEV3d1RT?= =?utf-8?B?RkRHY0lYUGErbGprc1BleHFudjZzQjFMcU50VlNBZERvM2E5M0s0NUJhOGp1?= =?utf-8?B?ZmNiclVraC9jV3FjYVN5WDY2YVU0eVpVeXFLSlpYQ09tRVQ2RlUzZFBvS253?= =?utf-8?B?SzB4QVlLWFNPellXNncxd3pXTWxNSVNNcTFFR0lEOWZJMmc1L1FlNVZ1QkdP?= =?utf-8?B?Y1BheVlEdmNudVgwTkxXVTRCTTFPWWllWDFCRkVDaGRuSWhDVElMU0Nyc1Ix?= =?utf-8?B?YWNTUE1TWEF6VGZBQXV5aUYxMk94QS9GaUVnRDlETU1zbkxKOWFCNXpLNElU?= =?utf-8?B?NjI4b1BRRUxURHpIY0dsUXc4QlNRODljUnRDM0tMUXg3L2ZFRnBOendOWW14?= =?utf-8?B?WmlFOVRUczJ2dzFlLzh5N21UZ2VIbGZOTmd4TTB1RWdDQVBYRGlrN0hnb1k3?= =?utf-8?B?UDM4Zk1CMHhHQWlUTzk0YW50TElRekpwd0d1V3RKdTB3WjlObjdMZ2VsSlVh?= =?utf-8?B?N2NyaCtoR3JtdmlHUFlHSzZ4TEgwdXVMKzV1RzltcU9YeDFmQ21wdjdBanov?= =?utf-8?B?ZDdialJQRWxzWmgzejFTMlB4c3pSVWJoYWNmWnk1a0VIZzg3ZnduOTl6cUtC?= =?utf-8?B?VjIxMW9ZMFBUREVkT2ZGd2tQRmJrOHZqUzZzVExUQW14bHpLR0VtM2FlVGRP?= =?utf-8?B?dmpuUm5qSkxGaGxzQkRYblU1WTQ2b1FBYVRRaDlMamZpU3lvWnZBS2dtdmtx?= =?utf-8?B?VjhEbEFWVEVDNUNKRTBLYm9sOFQ2WGkra0pWYUNUTzZxaEVDL2tHT0o5ZGps?= =?utf-8?B?RnUyVjJNYVZwTkZjd3owNHppZVlydlJ4OVlEVmsrbTB2NFdmd0dRM05NaFZm?= =?utf-8?B?QWFmK3dwYS9hRVJiT1hic1dMT2xDWExwcmVXaEhTY3JzK2kwRnJmZnhORDVt?= =?utf-8?B?YWFWckYvM0ZzR0tlbUg1V2ZCSmVHQVlqU3Joc0FpWTBMZUhmMjVsVng0R2c2?= =?utf-8?B?UkdWbzhtZXUvUXlWNXZpZnpYSnpHRThGWC8yNXJaV1hCMHFQam1vK2g5VHh6?= =?utf-8?B?elMwazlhNmlPblZEK2FrcWpOc3lPMHk4UkZZSDR6aFFET0dGRW1DV0J5UFNC?= =?utf-8?B?cDI4c01nUGdZVWdMdWp5bGFVa2JkUWVlOVIyNEYzeDVKUk9rSW5sMVg1UUJD?= =?utf-8?B?eWZ5cTBMVE54eEMrQkJZYnMyMzlvWjk4YmkzSmY5RVFxc0laNjExZWg2aXY0?= =?utf-8?B?NGhhSjdqaHFPVjQ2WUFQTDN1SEJpWm8yS1gvS2RkTUx3K1hveVBCc1JIT24z?= =?utf-8?B?VFRiNk5MY0JpZUpsR0RwallBamd2Zk1Ua29IY21jWFYxeUpZWlZyM0pFQjNs?= =?utf-8?B?Y1AyZll4bXlFNHRFeGRTei8rV21lM216UFE1dWgwOEtHMTNOeEFJWCtQbVFz?= =?utf-8?B?bVp3bUZzandkc1p5RnQra3VYYnZsYVE5UjhwUENnaDVPWG1GNXRUdlJweUhy?= =?utf-8?B?QnRKcGJJcGRhd2ZsQU5MR1IxWExISmo1YkVWNlFEUjkzcENDYXljdDM0QVRY?= =?utf-8?Q?Mqn/c+H8w0pQwGT7wHwpRGw9i?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: fwKPFKpznJZT/oT4wVUi5YLmbyO26F3WmeQL9NcunTd20DKFVzqPh6Yd/iYpdvwEj9OqE6x13pKd9HTp1rv3+cHd2dKlvdCZxWukcw0jlmFn7RvT1LWrKcagAiaeAh4rbz35iLPcbM7hKAWKPK96P597BT0ybRvcNgASZlp7TPGtom2XOT0AHrvoC5D/4voIDmkHGE49Igx0PqFpioEPwOaaeatQwbVPcDXwXOq196uMqe022HnvpsWQK1PpoRVyEC2NQLSss8WWQusywz0axfb7ssGaNIc0ORwskYGCMS8oKP8idEgOavj1Xd5Ch31XZm8qAxrYaitW6gvjWlXOG+ceDsfpp3n+xnVC60o5dqvtmuFrXL8aWVI/41ZcPCGIasMpwmsugOnTMCmGGvUTau5it4jMFTRfyyILKxT5H4nXGaqga+1kOttG/sHJD0zMWGCZGIXQpUYny2o4aNgjCOiLVHOfHgZsn9NoZXVqWhn8px1S+dwgBMByxtlMR6LXKVtlzqXhXsqlQ7qdNRlrzXf4BAqSXZtJIq4Q0XkvOJDkzgeCHNuYrnOYa3we1qYXbxEXE8oMPeR5I45lpMFqa/iNVoAcuC7gB8azJ+J4kbs= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f496014-7ea9-4d02-7de1-08dc22a554f3 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2024 21:41:07.1108 (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: XcF+sCVABgnN2Wxskdm9g7kiYzW3U4BrjD7Hq2li+w0bVr5QA1hqqtcMUJhRvfbXwPa4Wp2Q+JFZ8b+MUKITPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5037 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-31_10,2024-01-31_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401310168 X-Proofpoint-GUID: lq6JTlAY8AVtJ1IOT6AWbr2UvdoM6gzE X-Proofpoint-ORIG-GUID: lq6JTlAY8AVtJ1IOT6AWbr2UvdoM6gzE X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: E9E97120025 X-Stat-Signature: 5acbasoeo4bkfyexyytykecknf7ttwxk X-Rspam-User: X-HE-Tag: 1706737282-359904 X-HE-Meta: U2FsdGVkX19fC9qtcQU+B9naRdIEk/188mt2v2cmx6ez8ngNt5gJAxtdrJrNq/bnp2KB/rBxWutmuBGXIOWF+3WKKAgR8PY5YEtIyTcg7ws8S2agZMarQcGM3WXKZi7Lxcoh6S8WVS+ecZ9mzYCCSZMlvrhOkDiENkwupdF+xgD2e1gbFqZ9J9ItH1n6+MninKfikZiRouzmIZdne90Sg/G0RGoa6HVEBvqyRsH1jt+cpzeVs1nC4PbJC3WuyIgIhE89ML7HtJ1TFq+08j7ZP3pDObZ3nZu0DrzVzVUc0ASh+yQjW347g4PrQnhNHJjelB6HDWfQangYQDu+ayGNJzSQK0gnsMe26sW0KBv90u1/YvYgsL6w8oX7/4RSCI3lUfnGTzflpb6xDwoh49AsR5jTjfwEEN5qGbAnZnV76YHe3OukG4hHg62KAKDijyKhUMhcJ8gxff41nr8BrUw5uKyfJYkJt5Y8oWbp2h5d06VEvUQBkEimMQq3DtRuR5LGAbf7Z8inbOynFDs1wfkYTn9vz6nPM+FZzBtuJobX9sp/vB/7XQscUUX26MeMTOpM4fG+2EI/XQrdjBYfQcG0xqfx0fpA1wt8XtLxPKZFNeOrGraau+h/BFJNtCAcdaug7lCXLEuJOcDhaxkk9BVbhgHtuO/On9FPEu4DqkUy14VoaqOhXu0WwE0MtGxh1lSGa5ZGXvPW2oaGzxRFSUPQskrWn5P0Ws5GaqiSyC2xqFqNgYVqEO3bilzxsDAff/ZmYRmiRHl2a2XdRpFcmn2IdjZA5SZCY/7YGZs0I3g1syd9HpD1YOQDvdOPRApQcVo5Ad4pKOW2keIbuR1A2tpBJMrIkkl4oI0KFzgywmh4Hl2aPS6+1uXdwNuih7HKT46jQ7FIYwVPE8C2BS0lBDg1gDOVwBhidB3KZOnQk8YD9MlVlc/egQDDfAobb38mGIJcZ3IDPbL9N2B0xIbFArR bk/bDbsF TjIbotv+wtf+wZuVlnrlZDJVKfGQGciqb5zDCtLAqJcOGmm146vPk8a+mx9Mk2Orh3zm4230vchE/01WgwRfM4GUq0E/HBYaqwthIAU+VVzB956IulQYIBeswD3MDMlpZUxy9Bs7Ia+eVpX8u4122BRbSU0hIFSIsksyf/MKtlpnLQCvxmaiMI4IOVupgXbwVH+OT+QUCEuxldQJaX/NmBOHjvGidWPfSGOXNcBbKFfyhBXOfd4oYh+hnTEiLq3uf6ISf7Gx6oxY3aF9UIsfY93YyYo4pzRWdeUrDb9duqBWYANpYBKt8UbeQk+dJfVC1hJtAkY4YZ/2svcfE1ufodL8MfgDPzauskgcwpOEKxm9+rfiUPAEn3/8nGUQSatulA6YVjWepojfMb07nYP4qQ2/2BDl6X7zlFZlak8HaNSb6GwfbtwH4ZFhiGI/a1hOTlRqc 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: * Lokesh Gidra [240130 21:49]: > On Mon, Jan 29, 2024 at 6:58=E2=80=AFPM Liam R. Howlett wrote: > > > > * Lokesh Gidra [240129 19:28]: > > > On Mon, Jan 29, 2024 at 12:53=E2=80=AFPM Suren Baghdasaryan wrote: > > > > > > ... > > > > > Your suggestion is definitely simpler and easier to follow, but due t= o > > > the overflow situation that Suren pointed out, I would still need to > > > keep the locking/boolean dance, no? IIUC, even if I were to return > > > EAGAIN to the userspace, there is no guarantee that subsequent ioctls > > > on the same vma will succeed due to the same overflow, until someone > > > acquires and releases mmap_lock in write-mode. > > > Also, sometimes it seems insufficient whether we managed to lock vma > > > or not. For instance, lock_vma_under_rcu() checks if anon_vma (for > > > anonymous vma) exists. If not then it bails out. > > > So it seems to me that we have to provide some fall back in > > > userfaultfd operations which executes with mmap_lock in read-mode. > > > > Fair enough, what if we didn't use the sequence number and just locked > > the vma directly? >=20 > Looks good to me, unless someone else has any objections. > > > > /* This will wait on the vma lock, so once we return it's locked */ > > void vma_aquire_read_lock(struct vm_area_struct *vma) > > { > > mmap_assert_locked(vma->vm_mm); > > down_read(&vma->vm_lock->lock); > > } > > > > struct vm_area_struct *lock_vma(struct mm_struct *mm, > > unsigned long addr)) /* or some better name.. */ > > { > > struct vm_area_struct *vma; > > > > vma =3D lock_vma_under_rcu(mm, addr); > > if (vma) > > return vma; > > > > mmap_read_lock(mm); > > /* mm sequence cannot change, no mm writers anyways. > > * find_mergeable_anon_vma is only a concern in the page fault > > * path > > * start/end won't change under the mmap_lock > > * vma won't become detached as we have the mmap_lock in read > > * We are now sure no writes will change the VMA > > * So let's make sure no other context is isolating the vma > > */ > > vma =3D lookup_vma(mm, addr); > > if (vma) > We can take care of anon_vma as well here right? I can take a bool > parameter ('prepare_anon' or something) and then: >=20 > if (vma) { > if (prepare_anon && vma_is_anonymous(vma)) && > !anon_vma_prepare(vma)) { > vma =3D ERR_PTR(-ENOMEM); > goto out_unlock; > } > > vma_aquire_read_lock(vma); > } > out_unlock: > > mmap_read_unlock(mm); > > return vma; > > } Do you need this? I didn't think this was happening in the code as written? If you need it I would suggest making it happen always and ditch the flag until a user needs this variant, but document what's going on in here or even have a better name. Thanks, Liam