From patchwork Mon Mar 27 18:55:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 13189951 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 562F4C76195 for ; Mon, 27 Mar 2023 19:07:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 893CD900003; Mon, 27 Mar 2023 15:07:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 84442900002; Mon, 27 Mar 2023 15:07:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BD4F900003; Mon, 27 Mar 2023 15:07:47 -0400 (EDT) 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 5E0D3900002 for ; Mon, 27 Mar 2023 15:07:47 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 21DC5C071F for ; Mon, 27 Mar 2023 19:07:47 +0000 (UTC) X-FDA: 80615612574.02.1A35CEA Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf23.hostedemail.com (Postfix) with ESMTP id B0B4A140011 for ; Mon, 27 Mar 2023 19:07:43 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=clDRe0vR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qoS4lRMT; spf=pass (imf23.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=1679944063; 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: references:dkim-signature; bh=sF5HQVvB9dOyc4hYY5megikUFknxk+3O6Di69A1QnvA=; b=CSUxNROCwZ7gSeaW7aq+PC2510eWv5U6Lv4XrVdXjKGHCfLU9HKADaEm/6Zf944xcsBWkm awkysBa2U+6J7fPECGnADhrg4uRb/ODZ9KX3Z8UObVppDYKSva/KcxxXzLr1R8pgCETUjN yFLh4HOcyntftAFLZIAUknqhttA9nOY= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=clDRe0vR; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qoS4lRMT; spf=pass (imf23.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=1679944063; a=rsa-sha256; cv=pass; b=a0qjNHQXvcTialgCX++aAzxaefI03Bk69X4aMRTRw4lzU8gOHyad8QUo5ujBpyEKVlCDj8 EbURxRL7bhsy4L5aSWaJojoYkgSnd1/QNPsMjk5DsZ9/KDU0rap0y5eArdfg8hwXs5alyQ rwqvRC8gEisUgF4zyCAqtX0yD8Eirno= Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32RJ5F5g016475; Mon, 27 Mar 2023 19:07:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=sF5HQVvB9dOyc4hYY5megikUFknxk+3O6Di69A1QnvA=; b=clDRe0vRZ2CA6xoqYWZPr2/cwvjp6d+uzMkcFK+LHvBnAPxTooO33fFuv1CgSeYXfDnN ELsSomgP6W7/3Sx+GhUBnHis/SdGYGNrHLbToHW4Kyjr7l8J80yi8Ho6VVmxvUwWItuI r8a4hyG2nlc6bT5fPOVVTVWIGr1yhJKfsVDZOrpFuvhw+FYjMmqZQCR06PRnysqExBkZ nsHvKdKW3eVh7C+q6FcPXPn5JexVxQ3x43R2hBbZLOS/FeVsXWbnHUzQs+XicbIBdqU/ 6/G+cqL4YUlpdwGQusVFVPqt1wrhaiFym+QiyveHrzIM2YD9Vk7iqpkHyCP1CzWBG1NT jA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3pkgyw005e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 27 Mar 2023 19:07:39 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 32RIO08j032313; Mon, 27 Mar 2023 18:55:37 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2174.outbound.protection.outlook.com [104.47.55.174]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3phqdd4vhx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 27 Mar 2023 18:55:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SEyya39xerJ5y+7i2+CJ9RhkfyW4vxcuElSmodYjy26ATdPx0wGyVukud++BLirJJsS4r0KyJGkk3sJ2UXRrcvsOQ0JHd3M4DIvEOiZu956DSEanph0/1quHld9PykG/8CaevmsBBCHdOyRiVQVrYh1cyQktdkIX47HElNFpgBFBUl9ohSvOUDHauodY25xiGd14nTPIGHLhx8ZxHMsUIq1PMuoDNeSBthwXsNKIhXvOKDRk1vZ5J2P0fEWs9q26qN/e2+VbeuVdXZtp+hJbZ7qOyxQnBiEGDhhzmaCvqhJgYH60soPKVkg+UBXWmuhokJOkSVswsBxQPHIXeyTLRg== 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=sF5HQVvB9dOyc4hYY5megikUFknxk+3O6Di69A1QnvA=; b=LMc0uq6TBdQxYR7SxbgMWy3PL6NBV/GAr1tyqfcVb9cMcbvy6uuMc/uFpl7qyChZIiv72no5a76ZLcTxcivLJEQ2g9aoaokbuEPoC1cWETmYEo8HvFLKQ/e9gstJvxhZ/5G+rUmqdIgX/CushlvOok3CsEZ7pqOk611jBE9uQJOgbIPf8prKdkjEkNg+FoRQYjZjRLRFZPz/XIC/xoJ02bUeFBDSTfjnto+XAwRapsMXvh+IZppPc6csqZmXTGQrSzRCNZFWJaL5Xa8CgueMj85QleofNRdFQdqNUWRY6c5fr7lH75kByiZQrEPj9SO+tR4N6XLTpDvSU5tBfqNblg== 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=sF5HQVvB9dOyc4hYY5megikUFknxk+3O6Di69A1QnvA=; b=qoS4lRMT+WFydTMTFK4rHNqYQAmE7pSxPOqtmkb2kzYkDcg+q+l05jsIa73fVE5mRqKrGnMhZYf/w/dq+5F7NEFW1//tBd3dHeGW+phmXruY92a9xPqup6o0rT36W6Bq99TsKvv3g21lo0jG8cHIn7ExUiFDmVzlMaDkuiq1hxw= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH7PR10MB5722.namprd10.prod.outlook.com (2603:10b6:510:126::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar 2023 18:55:35 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::9fc8:73bb:cc29:9060]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::9fc8:73bb:cc29:9060%5]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023 18:55:35 +0000 From: "Liam R. Howlett" To: Linus Torvalds , Andrew Morton , maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Matthew Wilcox , Suren Baghdasaryan Cc: "Liam R. Howlett" Subject: [PATCH 0/8] Fix VMA tree modification under mmap read lock Date: Mon, 27 Mar 2023 14:55:24 -0400 Message-Id: <20230327185532.2354250-1-Liam.Howlett@oracle.com> X-Mailer: git-send-email 2.39.2 X-ClientProxiedBy: YT4PR01CA0346.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:fc::16) To SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR10MB3022:EE_|PH7PR10MB5722:EE_ X-MS-Office365-Filtering-Correlation-Id: 22d16b62-7505-4a8e-78a5-08db2ef4d921 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aftyUbk3NtZW9jpRih3nT1v8EswpBmFRAfIw+y+2J9Y9KdVjA10WaFQpnSbgdgb858h1otktW629W/vLeiTkfZvv0tae4j3XwCvbrD5C0QlSjDhVa1TP/HPM/EjbyQP17lMpxC65fU19Bu4TdCLvQz3Zwbi6J9r+z/jDqMbADxhA80KWqddei1m3MdKtFZEl7N8uzX/CJZm9ulcEdpFkXnND3KC8bTCR7lyXr9tSpQf/j3G3RcyfpQ1Qg77NR4bH/VKRvAlWBo5RdpXhfHaU+Ha5roNCgq0W7ESRKDTQFJfpQhisqRXYNyTizdpKWeevHmzDVfHNUfTZoOKSWrC1BBGnF5ldOQMvg2AznOK0DG42lkUmHAfAV6bG6C/UISJaZ8/smCfF2mC6/c0IU0+LC0bEbJH5d35XnQyIJuQfEkESOTLomMjXSSfN0EFTZ3NFbwygaIMkJi1x5J+zxo275ydv+wlWKyuvEVcv6Ak/XVIu3dahoYhEU69bBjVrol+Xcn+EhGI/A+CnPPvGzR8duV14nZvlx4OLq+L4dLTZX8N7zlJR5radveellJZAvaCo X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(366004)(396003)(346002)(39860400002)(451199021)(2906002)(38100700002)(83380400001)(36756003)(5660300002)(41300700001)(8936002)(86362001)(2616005)(6666004)(107886003)(110136005)(6506007)(1076003)(6512007)(26005)(316002)(6486002)(478600001)(186003)(4326008)(8676002)(66556008)(66476007)(66946007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: e2lUf+rs2AowMbs8IsKTQhe8Nim2Yz3DumizGY6t59Zczf5NGnwOAP5eUQTrviQuCcDPhun/SPFAXRFOQo3+3E4wUNCx3j605xAAt1Kp3wsyRak67vVQWXQ01mKtc2OQ+VGfaDO+reNJNLvnEzssOdfwy9aCbnZf0Ua2FLwWHdtEkHp1NSik7SRZPJSnRVvHQHRLX6QFMrHFKI9Ai+x0NP1eGCkAiQql70SwNQxWAzLS5Spl7YmjCK/GL1GC42bm5wIdcOLlaF4GUl33k/DQapSQ2Deu7IeAcv/G6ad8b7+hMTtXGFCf5eyt9XQHid0xuSV0NtBPtwZYrAb1tByTJDToUP4t8ke8lIQNhpegiC9mjsP+HO9/X5O7m8xBYnkz52/laKmPsQmN9L4DXMAqz07l8pG4Tu++ey2V1/1SyfgRDhrZV4DqsvM/njo6VBNDkQ5Hf+N2gP2NWdiXVxyBwNsfVVPkwZL/lBB+18XuFwbB26C0xYWY5bxirn2Ue5/o622SBe4+V43Id5KDqqj6MPs2ob7H14lgtK1hW9N91ZxUC6t+qQIMUcUkCsiwKdkji2iz2gpRc9RuFt56asFeZVxwKM1Uexk7Lhxi+aZL5r3q6E3E+mgXzNgojSopGaBhehD4UswDDp8nv2XnLb8c0cu2RVBQtdl8ertCcnuTCopEVMJQVl91ljexuux3m8ZEHE8h3KBiJaaiTIS0WbgJ6mqGDkWUC1nytr18QmfUu1o+N5GFaCVwS9JVlI9cwo9wHNjGiIlMWwF0skQgiOWunezFR2v7jJTB1mph3iKEt7nF/sS86EGM9fiIOPyQiVbdLtJAsIL6WFZ7h5z0Da1gKSBdMkAm6hEwhyYa4WBPtVnnpUBb5xPSjz4DFxfSTpkGeck9C/D2eiqeiGtqX+H/nS389d+VeIwvGfn0ClTwPKR+QgifOyYlxZYB21SvqkHYKQpPCwGQlUeUUkDrBF7rfGOCieqM0MkUIjvx4F6vMDXGbgE+oqgfCymN+en9G/pe68xynWqqw8pT/HlT8t+OkR7Vgbj9wRSeBDZ429Z1UAvFUDSREtNprSwKzcP7m/EQWLMEUy0uKPUz8RoiafOTSWpASS6sIg1i9Suvz8Yfq0D37jYh57g1LDW00z43fAtjXfz6mJIamv0cBH+eKJu8zlOSEm68JUozwK2liJWshLQ8Nb8euw6Yu9bnRQrwg4xqs+gYZiYgX4+L5YywFW2NVCIZNkvrrp6fBf1vN+L3W/TgumvljipfORshNmJX5V6XgfpVoT+EPUdPeSKxEEotirm/jmWwl5zrOiKDxLUXsK00h1GkK52cbaJ+dAuWab+p+napVVDcM8/x46+SmgSoGt9H0F06+rLn6/WgB1yTnYjkc0HroesLoU2aGDXkrVy296lbzjHX2W2zE1aKA+KM12Q89SI0m4jAxQPc5+CrO3TvVd785b7mfbG4ILdXzUMkhycFQF5/XA4JZ6ka/fnzYeU20r7r4BMsOeF5WQ1FSmryohfCF9vqY1WxLOfaEgiQIr89B1Jebek1Hk45YR22Tb85O+fbSpH8DJS74Quu7yIU7Pwnxnpbm2bpIQyvUczPnphLQvUVkilp+DxqCFRLIg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +4TwBHRM0jCvbqXDmbsQJG5bf5meJWF6r11pQF6ivlAKBpI/tw/+UulOLwcMri7wcTuccfHgh+OWrDpKf16XP3PjxOWmfYyiKfoQusr9b3Mp/cskUBQaRIbYxGVrgH6jTMEHcDUP1LkA3F21YZgTj+0x8c8gJg4PBbCqlM6fcgZNIiUHuyRVsdnzHHTLwelkvBVhHjKfhE3t7D1Q4EIyyU0lDZ1s0biulyuuJ/oZ8QwgevkZEFwTJR0GhpTo8ICKc1S10I8V/NUAHt7T/nQQjxJOY37/siwUE5CDNvOBI//biFhtx/uX3tRn9Oh/MsfFk0B5mgN7ca31fXXR2OxQQlzAACMi1ipG0vU3dTBhxR8AGrb5za46A2ZaE7LXX4v4KF4P8Imwc6gbFD11rUPxEf4eCqAt4A1U78uu2jPLOACL5WGXxoF5kXOX0havgYV//0ol6Y+/v9r7kLIdCsN1AXv4vqqHVEJx+chm8/9SzumlUksP/vZ3ssSNFl9QkFyMPf3/TKHY8lNOsXw5dndXTwleUPyGiLmMqdcIJV+xWmO9QxKzMTXTcf0u1s/1nJnyVZLe5L2z1JZ4jdC/gj3Ir8+a4ATdH7ieUZzkRfD5i6X+lKjoXfSqsFVILKMjKFYRGH5nzX+vJTLJ9YH0YdmmiXiUU3aDqAkj/j3McZkuVAgJfAh+mkITtzUo3MVV/SXi0w81R2Z2LNw8eIGqgpq5Riilr9R8d8hSQ1vEIabkmbvtB/TDEFj4dw7/EILWZomwqeCwhYUxTT71otb7OJ3nAV8Byz2tHUwj04qwBxqAzZ3pRKXbSnIvfvAM4cOC2cbtJyvBl8a2YGqDMe6MAOruFE7+z1oGnHHhTqE1xv5XQBC4N+UHyHsskAFxNHRZ/H8iPa+8Bo+afxFH29hZYUPLEVEM8g/1pvbupmIY5zTsMVgMOdYASy4JJ7eYMrN7IFWUOK9x5/eCCznjE5VBLOiSlQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 22d16b62-7505-4a8e-78a5-08db2ef4d921 X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 18:55:35.4691 (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: aVb83GDwElHUf20Hh4etuxPizmV7+fy1QUwujlHXfTSQDi/xF1H7zpGEB0nq8Pvr7DLahXgpm59/4b8E81xF9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR10MB5722 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-24_11,2023-03-27_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 spamscore=0 phishscore=0 mlxscore=0 mlxlogscore=636 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2303270155 X-Proofpoint-GUID: L81HgIQV74KSefx4wsPQWaiPDimHexDJ X-Proofpoint-ORIG-GUID: L81HgIQV74KSefx4wsPQWaiPDimHexDJ X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B0B4A140011 X-Stat-Signature: oymsd1rjg3srcosjc4rpr4n3mxcuyzru X-HE-Tag: 1679944063-275662 X-HE-Meta: U2FsdGVkX19/r6qWBdR7bN9qp69CdJR7to/ym/R03zheC7RoEJBC5DCsKOTZyXTbKqtrGutG96X5oAbPfzmYhx4bbB17KJwSaJRyvmetD+guH0q+C+hrOH+x8OLD96/PBwgy2j+f20lkO6RB0wK7tAjY/EK9Npu2K43GwWfNVTI0OzFoqUot+1cUtK+vwn2OoltH2TK2k0xhUA4PddK3nioCd7tjvLFNPrNy8ZKmUYXzasKjcE6/WVHY6xHcCei2BQTd+0wdBsmHOtyL6kduaIkIQX8oVZXkbpqD9ctF9XWQgcu25ITqFWdah2omk59/u9aV30y7YmezdwcqbwivDhQi3qRVSN/U1qKBtCZR8pCcahYJmXYgeGkhVE0d/949N1EeTi1e4K6FIJ89NCV6deDo1aL/vpjGhcdUgP96lnCvBJ0ojBgDnyftcrDUynKXfwNIUqJ9iW/7GVSGrkp074ANy8tZoPJrGOIpY9J+9eIPr9tuqYyDBJEkAPciUtZEs0vYKE2rldntIqmuZAjTEYJna1tu9KjUOgIIdtA4i2WR4ljc+lpuy42csAPKcBBZctV/uvzqBRxTtvkE1BzSLys+fYfgzDm74U3CiLJRjhSe/gq3GVTWOUNL7aOAzWtxnCV6KBKwzjHiJKXdvlBQQK7OomBQX/tvwRS4VmWhZiVdUQQqnp3a/c+9YTgtM2LQJt35f2Hjngm99bZeE+rzQV46oEGXeDbgx9esgmOYXzeypXWfMg0xRRE/8LZnz5xw9DbvyZhGMQS3kOXHbKYFBpH1ewasEHuK5QAyQ1/N8Krz1NZRYyVSYotq6vJoS46LgtMBDIsbAmoYzEn1qNez3vMqfQV17j3U8IrmKF3uh8ZtLAEadzRgIYyMk9gG7eHu04fhQOV2PuhsOateE/hO+A8bN3kuz1LEaapIu2i4TXtSbFB4lAkPckYooUev0VWaD7vmW/h9+a4pr8/wUv4 rQ2acMc8 OddmqgJV0v6x5v51qk0SBIaYVk00PqySd0CGvwli5XBiF+xA7PpTQ7Io/28BZZeKAepHzNFO0AySk0qVL2t8x18OkbMSI2DQ3R31Wly5kNvPos406fqCeqEdPk8fPUvxBgfYJL3nx0/cbeMkQr5VPxQwJaykCC5bX9Z0LVzItuLcogETPCeE/oY+rxFWf8TCPNIcMzbzKl9wVAy9uZEt5qd7XB8yn/AyWqGmN3JuhOPpgu6FxZyptQ6GlGEBSg7y+2dsuXJvcyPo7iogoYVLThSQeIva7iGO3JPF3/UX35CL6e/RbtE/NwvGELWsWOtTQz7rm0heyEyw+mKOZ6vJOMCYdiJb7u0Th1aUQa0iI+Icg/MYqcRJMYyhEdg== 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: Syzbot reported a BUG_ON in mm/mmap.c which was found to be caused by an inconsistency between threads walking the VMA maple tree. The inconsistency is caused by the page fault handler modifying the maple tree while holding the mmap_lock for read. This only happens for stack VMAs. We had thought this was safe as it only modifies a single pivot in the tree. Unfortunately, syzbot constructed a test case where the stack had no guard page and grew the stack to abut the next VMA. This causes us to delete the NULL entry between the two VMAs and rewrite the node. We considered several options for fixing this, including dropping the mmap_lock, then reacquiring it for write; and relaxing the definition of the tree to permit a zero-length NULL entry in the node. We decided the best option was to backport some of the RCU patches from -next, which solve the problem by allocating a new node and RCU-freeing the old node. Since the problem exists in 6.1, we preferred a solution which is similar to the one we intended to merge next merge window. These patches have been in -next since next-20230301, and have received intensive testing in Android as part of the RCU page fault patchset. They were also sent as part of the "Per-VMA locks" v4 patch series. Patches 1 to 7 are bug fixes for RCU mode of the tree and patch 8 enables RCU mode for the tree. Performance v6.3-rc3 vs patched v6.3-rc3: Running these changes through mmtests showed there was a 15-20% performance decrease in will-it-scale/brk1-processes. This tests creating and inserting a single VMA repeatedly through the brk interface and isn't representative of any real world applications. Liam R. Howlett (8): maple_tree: be more cautious about dead nodes maple_tree: detect dead nodes in mas_start() maple_tree: fix freeing of nodes in rcu mode maple_tree: remove extra smp_wmb() from mas_dead_leaves() maple_tree: fix write memory barrier of nodes once dead for RCU mode maple_tree: add smp_rmb() to dead node detection maple_tree: add RCU lock checking to rcu callback functions mm: enable maple tree RCU mode by default. include/linux/mm_types.h | 3 +- kernel/fork.c | 3 + lib/maple_tree.c | 269 +++++++++++++++++++++---------- mm/mmap.c | 3 +- tools/testing/radix-tree/maple.c | 16 ++ 5 files changed, 207 insertions(+), 87 deletions(-)