From patchwork Tue Apr 8 09:29:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Stoakes X-Patchwork-Id: 14042501 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 6B6F3C3600C for ; Tue, 8 Apr 2025 09:29:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4BEFA6B002C; Tue, 8 Apr 2025 05:29:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 46F096B002D; Tue, 8 Apr 2025 05:29:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C1B36B002E; Tue, 8 Apr 2025 05:29:50 -0400 (EDT) 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 08A9E6B002C for ; Tue, 8 Apr 2025 05:29:50 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4E43080944 for ; Tue, 8 Apr 2025 09:29:51 +0000 (UTC) X-FDA: 83310354582.09.B76049B Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf10.hostedemail.com (Postfix) with ESMTP id F16DCC0005 for ; Tue, 8 Apr 2025 09:29:47 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="QQSK8aj/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FF+hJJpW; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf10.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1744104588; a=rsa-sha256; cv=pass; b=30zg88XPVFwOmm99UcqXtcwVtvx4a3F2YsVXw66AvD/n6Oa8gzeA5WxJhT+3U6SEBvIkTd 2Qv5oTRUi5ZCqiLcRjfCS6I+4GspafIzCXZXElEczZKAOkUmopS9TE4ih3xiumAElvtUIZ Kz5pYqUEi+g2oHHTF/hwA3BukO+MoEg= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="QQSK8aj/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=FF+hJJpW; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf10.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744104588; 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=CiBvbAjS0ifNtyemzlrwAGEuTOFkr/cJSa4k2suNAMA=; b=l/1LMmbDcKYJENM/OWDiR0UU2kVZe6aRa5SdaFC3ZPGziT9diuSNEgkzU2IwFrKrhd0gFQ pvKPX3z7VLz++CGqrHHLVoY6AYaFnCmmHIWJS5nkHk4f+O0uCNBujJ/oK2TnsWJEfStjNz YmqxR+njoeAFB2XkfsCkmFClv+Bw2pw= Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5381u7eG001181; Tue, 8 Apr 2025 09:29:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=corp-2023-11-20; bh=CiBvbAjS0ifNtyem zlrwAGEuTOFkr/cJSa4k2suNAMA=; b=QQSK8aj/ifCODLC05cXmvTd+ZDEUd1ok eikDdhapbom7NOkFFo046MbYOF0V3xqUFz1dvwxbpLCBznRXB0ngUpEsmCsowj53 Vv+ppgt93Vy2M6eZdL+dJWdffVIJRkf7deMd9h6LBMvbUynhbjeUsPTGlTTX01Mt zgkz4P9ejlx0trjp+OevnemzPGI7VGs91+0ratx+X9BtdWv/Lbj33XWu8TYnqwm8 duJXZ5XQ0aHp5M/LOMdgk3WhV+b2tD/F6J0clZd0LLpCImFRMXDikkZZ0cBmXohH H6IMQOlAFq6AAwNLweh6uwpGl4DSxjeiEefC4F6TpWfi3hZhLV40Pw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45tuebmd12-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 08 Apr 2025 09:29:41 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5388ULdq001741; Tue, 8 Apr 2025 09:29:40 GMT Received: from cy4pr05cu001.outbound.protection.outlook.com (mail-westcentralusazlp17010004.outbound.protection.outlook.com [40.93.6.4]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45tty915e8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 08 Apr 2025 09:29:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WyDpruQqV6t6y0Ng2NIJzievLMQWZ9XvkbbfFKUdL2t3jHXkozbV84WLeEakx7aJlPanzyoVFxhmwbn/LjHzqWT3HbtkYWjlJc1mQKZZThskTYkDGeNscFGSobxyz2hmdWKiAWjZhl7w0C/uBQdh/5i175DA0qMjy1qhWtvrIXWC51h96D0+OWmEeZBBdWGu6dYnBdYMnuMh5D+6KkU0mOLNTsrhSOvSUwog8Z7Pgz/4NVULDfr1nh2Jo91Zgj6pj95arll8To8iqRoVfIPQHdHW5/a2WLoaYjhfpD1DAE+IdFofw5PDeWCqHFsyElescGQjUu5UjfWrHBzWJhAJbw== 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=CiBvbAjS0ifNtyemzlrwAGEuTOFkr/cJSa4k2suNAMA=; b=U1oBXIa04atyO7+hJVqZLnDOVGbWT3VfSR33ykc8jQ0EbIPfVolo3dZencUlqZRzNAH5t6HA6FDeKdTHQ/7Bfwklo4BbQ1dCrjLC1ZxaZJEdualampH9vUEvzuhVJMvGTSOnWupWI7aov3KeTfjeO4DM1JSNGekTeR1PWk3Fj9Bd2LzGFxaqIJw7QTOGK45lIzhlGyWwzgvUP8hwLfzcVM65T0vFUGG7bwcW3PHZpL4BFWeayUGzAAfJlxXI0EDyrb0G+UKUrm2iH/qkun43aDNf45PztdRLjh34ryXWYd6UIM0r65+2wbK5s+/1fvuTR7sZGJdjwEnMQUE8oZS2QQ== 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=CiBvbAjS0ifNtyemzlrwAGEuTOFkr/cJSa4k2suNAMA=; b=FF+hJJpWd3JCfZdSRXGY7RtCG8qtH6Sfsy4Sfp5tUqSvNFtgvRPwWzguvcM50Lp/JBHqoWUJigWSbilvAV3oROZ39DrIi72G5ImQM1GzSUbc+RyVmmNiyevKMSlp+DaQ8HChKy8VWlx9lRaciGLMtn0/2uaIuGXpTy9N32yM++I= Received: from DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) by CY8PR10MB7244.namprd10.prod.outlook.com (2603:10b6:930:6c::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.34; Tue, 8 Apr 2025 09:29:38 +0000 Received: from DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2]) by DM4PR10MB8218.namprd10.prod.outlook.com ([fe80::2650:55cf:2816:5f2%7]) with mapi id 15.20.8606.033; Tue, 8 Apr 2025 09:29:38 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: Vlastimil Babka , Jann Horn , "Liam R . Howlett" , Suren Baghdasaryan , David Hildenbrand , Matthew Wilcox , Rik van Riel , Wei Yang , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/3] fix incorrectly disallowed anonymous VMA merges Date: Tue, 8 Apr 2025 10:29:30 +0100 Message-ID: X-Mailer: git-send-email 2.49.0 X-ClientProxiedBy: LO4P265CA0139.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2c4::14) To DM4PR10MB8218.namprd10.prod.outlook.com (2603:10b6:8:1cc::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR10MB8218:EE_|CY8PR10MB7244:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f535580-f7b7-4da9-a69f-08dd767fe1da X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: HQkLggXjgaZAeG1yP/ozwQrs2EOCDwlqeA2x+IVhw8ULlo4bqSDrLYD8E3rDGIUgd6J8gr3i/9dlJ7IhrqNh5nfajkc1Os8lt2fzZ29XLJo3Zg3DKL6UNNMpDKgtVr8UT9W2yF3CdyD8NvZyr50rPBkeNCbrRpid1QPWsNL4BLDo96flZA+pR51u2f5wx9EpxOENRspPoBxpAn4n39rpamygXcBDZuZ6viK07i1Uy7RVPVOBWaCjTN4lTEKyFCkzSPrc67JX9sTqXGxdrxD/ixqzMXsNJ8/QgSuo/F2EpvQsYcHt9c5QdHs6HNeVLcqgUhf5XOhcWGMlkUzl6QlzgMkzZ8coQa9nTWTjTiGWg+vq/Qt7jxmh9uZdfj3YpK/FUN4md+PIys6jJf7pFMkn0bCjBy540xAaAzcw8I/6TDSuhi4C3x0AvwzCfDiPwEdi4ABN73bmM/X69WvHvSiDT3+1JrXhb11cOuu3J1SlziENznD9QZLQQJLznZArSNlXwZz0e9XbZIX9VywxXjYF2c4aTeShH1955V5tlgO7Me5qJn1+vadxc8lmm2DGetv/H8zXeXwpFshNTdEGbjS2IiQl0UKSFfirkye/L9WPMQKenLjD2fiAJCXc2TnZYwUrLLEHRuy9pXUgbJWSR8E68D80G3sl2ymcx9gf2RnTNK2a/cqi9FO9UbZ7ELw2dYYSC+p4u+TSvw+2wDsKVhJioUQJVAmmyryLNNVfkveVKzUV8EHO7PuqECPUF5IQV9TKleyy+tuDb7BR/Mpp4d7B1FEsZgiWcOTcsx1gb06+fSbhsPwZd+aNfsknCwwvrX3Noh5Y85MdvePhlC/V/YJssa0aFAq2WERHz1QtXKjPyDO4nbDhfdO8Q/OJoV434zhhcaPpXSF/+X/HWCTPBat692cD8vs4jzQEXD52p+in35qWITyuPJcrgnu1zIDZHBx1NwZhgnRnQSPVNAbdJ1uUfAd3cvSsxDatJozafxB27eUJsa5MYO8fy0MFRiNqUAA4mkI7TBg26VdKD7G8qi+SHjy4kQXzgGZdokFg54LKJVOtNeo1tFmY27yFgrEB2X+ELiySkubnb2wYaqGBf+cX8s6wN2wecwlfF1f+Mb3LpwSd4bEg/rEX6teAO6VhfiTW7GdVMYYMLmuqzDKSTou9jSAjheYjdfmZp3doI1oJGdnGAY05dkr+aCo2AJMeBPCjFNK0c1ZiXcK6uck3Z+QZ5Xf53ntZ0TW1Whw8kJW0O2IlHWkXtm+NOMAWEbDiHa0GtfFIL79BxgHQufAv+04Qxs2j/mV6tYiHBIkJmTpkESa++5HXs0d0dw6mU+M7RGZswpFFojVZcr+jj/Jnt0hQw5UxMufIMyeW68PZAPF3detS47yvw7qq3+uOxCtSpHUz X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB8218.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RkBb/uRhxrQL6QOik0K3L8eBMyavoiHX/DI3HiBnxeob9g1LQeNWkxXEjm95bIXt4Jlr/rGLWvuhh11UNpIfNhwDWJjUCzCbrnWhAi5x7eBi6T0W16SCYn546Ovc02ja/XrXMYtOkOlv/AJJkPYMHWPe7Tnsy7TL4Zl8Ts1iEhRYpyaST9+Vvf1r9WU3JPUxeuyYfTis2Cf95xX16P4wa+2pNe9CL2XmILVduKWc6otQIGhsv3RUfPnVjtsRQqPbZ3Duu8ifUHrSlD202yXNl5/ybZ5hFWqxjiEHkamOT36+Dv9qo5DaB+LVOlAxzTVnVUb61eMFIJiUYL/cTDnDq7ywDG+4sjLAYFhFfSYp6ru/Ys2MIij9sj56L/ePpHVEFUYKj+jdwM/cGD+3QC4OFE4Eh8wAPCOYg08A+9e11GXCoAtz74rLinPBHaitf2QTqmDXUxbRPlQZ4aAaN+bS8dUpsdITiAJ3smuQWUAa9Izru0S1HMcK3jwz62jvEz3JlrXhbRH/lqZGZ7M18B0MPVYTpsAHEZoyrgGiajrhsqKNpCXXTyxaDaxdmMoMpkJoy0d00mCfRH64SHnnwzs4M8iW9yGz0m6pYziXBfyIeoQDAiSO3H6qATfI243QTqSJpcKGssLMuLLtEXcA61g67wmeK/zlPc3vMJzXl5EgQJK6zcVp1gC9jxGoJG9OBy068vSvcyKPWtrA3k1C4SyEZiDbQGldkpbQaCYSIgTv7CX5yTgzfxI7PDRM2XBZFnRd1M4PHcDew1y9tLKZTxfQQQCDBIHU98/OTkki832tOlpM/Vo75/Rqaw0xcsUucQIgSWCe96ZOsBRtJwrlywADHDmqOtgkkZqlkuSlmSkbmubsyRhAn15p2Pd9jb+eZMtAABZNtRycToPDItW8A/wh8kutB1Rl9AKOOpqJr4oGqHGwflADNt2ddid9v5QAlPB1BmgN6BS/RMSRGtgWEfLPvrxHh1DRRpRkGh2sofgTf0L4pXXZvRzu5/3E/RRuWSjRMRx0fWMuGakGeSANGeClwvzONVDRt16wrjwEvpAaSSJQjAtENYaw87Gfp0JNl09Oyw7NwJYV063S3cBA0eDLIqJ9sY76RTCiT3JWTfyL+wHGnjWrC3hyP53ty8Ibh0lKqSegIMOBdkWjcd4zWKnliq3a4gElySWupt8NtPLfUnbZfUcnWQXp6KvX2m/rjSXgYpZupd0SCZkGOTxbwRxyDnS4nSN3uGR8LaeH9eS7/g2kpTMv1x5edKmyd01yptE24fQmplRIPaH/nL2PEws/d7xnIcaftLng8H2ubsZe6OJfXeBCW78yUIQD3RoIXLKi8/xDAvStG2UxFhg8q54EH2D+9NPmE4qjRrQtLizaZ0IRGrN10WqgFVlnMN86aFd6INomeebJwTEKdnz5g2S92xNnI9Ou1QTVv9xOCTymglSYTdBLS1I5Vm4TdmR+56utC7P6VcGhRdhYX/vtNfGR8+/D3pGFIG/MZSN2sSVGdjwfI0gNw6SRK2Q6M0cTsEQ6aNjbmKxit7d60mVPXeWj7tuxuHG8tSwYmtsQysrk4zdmz8KtTyqUJnLGJiWqPYq4lNI/5McztR2/TrGcSgX+wg== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8STGqpn9kfKGSX0Vric7PnlwprkPewNe1iJZOBj41jmz4Fi7U8w2mQd6/zcZW3jFLBIrqNhUNUn3KTv4I7wnFAOhlw2OcP0NxBp+tKHiGYqG2gUs31szLGaArZrYLoyd/1oAR4qc+2ETAeiHfqGYEYcw39C0Tsm2X0ZEqfDJAg9y1ZA+oZxfXO4RFLysT7W1FCUGP0ouvl0QN9QnrGQsWEOmcaxJmL3NTqqPNS3ktuYiq4bocHVU6rTZlOD7xxrFIIR0ClbwMfRjYZppIOIFwgaX5xvin62x4vkIjblIqpMPzfZDBwfkcI07qobaHHMtBPu5EmQ6u/S798442V0gu1MCWdav8zQyBMjbo5EU7nMJWv35C29xVvv+kogWyG/40jJngDRggWYHx1uND3SIMJqo7p25gFYIPnFDitmmaswgFFqs7IiDzvnyIECz/l2kagDRQUktkFMoR90e4zslM/1AfKVnDKGfKF03iMSKYdL7IjYk4zFaklk4YU7om3/hYhJlLi0d8WNiNVMOP9eCoScsLEzChVtvBO6uq5Ruy+0CHYf+dRQF+aegSCnnojNwB/DFL9RbnbwwKwxshMy9uWR/Zgubf+/FsS2REyJC95A= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f535580-f7b7-4da9-a69f-08dd767fe1da X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB8218.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 09:29:38.0535 (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: eOTbxHHoexaC5u5oNNhw4r41AS4klOuGPQsLq3JPJnP3FM9oGZn3JmSkG5TsCJtn1rrvK4sBSxEDDGWeoNzbKdMF4YnQz6r2Y+dFcXlgAfg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7244 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-08_03,2025-04-07_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504080067 X-Proofpoint-GUID: i3KlSgmy5PZwy-J2qBF1q1SNjjJ5lpXY X-Proofpoint-ORIG-GUID: i3KlSgmy5PZwy-J2qBF1q1SNjjJ5lpXY X-Rspamd-Queue-Id: F16DCC0005 X-Stat-Signature: rgmo3u5crxnmr1z7jdbnjye8wt8tt1p5 X-Rspam-User: X-Rspamd-Server: rspam06 X-HE-Tag: 1744104587-401619 X-HE-Meta: U2FsdGVkX1+/ImEMhRdgR/IotvlCR0xOvhL1iyQ4QtyHrJpd1I8aBToJQi+a+xy5mTWdtRVvjPRw9JRLiOtOwtbFFTfUF42Zj1ERuTEqSnbL0fapyCwDMDaITsnzk6FAisb3HZiaLAPWxp24AUHvlBMpcCTjhEidb3F/Ndxm9kwDsUk+PgUgX2RtkkjM5Zk3DomROpD9DLnrDvi/xG3YA2E9TLd6MkpFivbKFquIfV4UDm0MUTwOHiemqae9iarL32igHm23AYNZUKgN8cMU0fPnTFPU9vbxZHTGhr6ip8JcVzq22hPjmTfn+eBwxNkNKzTaNA2SSy3Yh9fsYgbH7sAUE+dfIkaPqyv7SVv8Afrz7MobHPMDvws+yUAe2dEP2CEgRre3m/a6BcF0fg7pGNkvyTDdu4ndgbwbWv/VoEcFunOPz6vmQdPE/QZJvsYyDB6tq8FR88BcJ0TxBJkqYPnrqqhoR7H89aoF4jF0A/Z2scfQMhZeY8+hxGJWl9AL9dxGHMPjyJiu4jH0WndNBkjnIQpYM4d+otcoPjQjKrP4gvr0ZwuakKBBLTyHus8A/nT9jLjnXm3FJymBxf/D+N8sjdvncEeam19iBvEITdjXpYSLuZyzmkLYsZBxc6FlFiY0zlXGow+Dvjaz//O3bhyyuJKOU9rPRtv9knW7cUkI+8F1YN3XdlgR4H71YlUzG2bGFbPNeD6wkM9FZ4gPX3GjtNCBbuBvDOt+j2znL3VTGPeUqanUyPAlSfR7s9wjkbWVOum0lYUmgXGezur5HaceNaCeTo9ApAJRD32PBjIkwTd81s+6Car0HNgGNmIaGVyc34PAF3VdkU56Lx0V1Q9mHymCeC9SphPvMgxayrbqSO7CArMZbXaJ4d/j6I1RQcF2mEy3bIyaTxrJ2IUBOM8Eeoh9WxgnmcsdwGPgui3I0ka9M64jbKrUzcVISo9pgZc8BrqDD1URhEU+Oj7 hBd5pn2l x7TcLsNAQTDTuckG9pd++BM2fgR1LT1NkmGY9LaTJdgpW8cw7V37cLhXzTi0CENwkdlmVAJswUwKgBG4xXSOkXpQXXfGg+y2kNmxUvgNEpQ7IihHxa2rv7EmsYEnAicBO6kb3GdAe1/T5iUbi4zwRjHRGIy+ke6UUqZ5bK0mwuypzlxc0ApLVPwBRRiUV62E7n6CCqZzi7XTpjF+3FHjKRks2Bq/uf/YbkMB33ucjOWIbhdHc/hLvYC9XSP9ZyAzWyyHRnHniz7sAV1UrfMY+fFquTxW24p0YZfw7NiKj6QO5V+VmzBNXTtbcN66TJrQKfKkdPS23BROo+BDNBwwKV98kog7Tnmt3K/jLFSNnMqDq+LbZoCEFBOBhYrUOBQcIqC5yZvHfswNQIXebXjwYjkRFDPLzvsrrCF0rNcFT44ErWu0NWoBlsDbvLyMPxSBNIR9DELdaEZdgVyjVSAKtjGJ17yczEK7Z86ADP6u2bu0GRoRcYL846VWbmCudVHU4ZR038Q9HpHmdTI+jWj/eTGRqe9+Q+WG3h9q3EeUEK110wTwt43bbr1B7ZnbqZI9IdpkZcvDNoyPyA3cqtq79lzNrFp0jQECTL/8VI+xyrWi+ejOxjeVgUqSco2zC6zuEQDh+zwogbhbSM06ECKsQYe/iCrtqUQgyD6V5ev+3jueNvzQbeK2wbrKeU3+rWkUJEfMyRXMhm8mo+88= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: It appears that we have been incorrectly rejecting merge cases for 15 years, apparently by mistake. Imagine a range of anonymous mapped momemory divided into two VMAs like this, with incompatible protection bits: RW RWX unfaulted faulted |-----------|-----------| | prev | vma | |-----------|-----------| mprotect(RW) Now imagine mprotect()'ing vma so it is RW. This appears as if it should merge, it does not. Neither does this case, again mprotect()'ing vma RW: RWX RW faulted unfaulted |-----------|-----------| | vma | next | |-----------|-----------| mprotect(RW) Nor: RW RWX RW unfaulted faulted unfaulted |-----------|-----------|-----------| | prev | vma | next | |-----------|-----------|-----------| mprotect(RW) What's going on here? In commit 5beb49305251 ("mm: change anon_vma linking to fix multi-process server scalability issue"), from 2010, Rik von Riel took careful care to account for these cases - commenting that '[this is] easily overlooked: when mprotect shifts the boundary, make sure the expanding vma has anon_vma set if the shrinking vma had, to cover any anon pages imported.' However, commit 965f55dea0e3 ("mmap: avoid merging cloned VMAs") introduced a little over a year later, appears to have accidentally disallowed this. By adjusting the is_mergeable_anon_vma() function to avoid lock contention across large trees of forked anon_vma's, this commit wrongly assumed the VMA being checked (the ostensible merge 'target') should be faulted, that is, have an anon_vma, and thus an anon_vma_chain list established, but only of length 1. This appears to have been unintentional, as disallowing empty target VMAs like this across the board makes no sense. We already have logic that accounts for this case, the same logic Rik introduced in 2010, now via dup_anon_vma() (and ultimately anon_vma_clone()), so there is no problem permitting this. This series fixes this mistake and also ensures that scalability concerns remain addressed by explicitly checking that whatever VMA is being merged has not been forked. A full set of self tests which reproduce the issue are provided, as well as updating userland VMA tests to assert this behaviour. The self tests additionally assert scalability concerns are addressed. v2: * Added tags (thanks!) * Folded small fix-patch to patch 2, returning -errno rather than errno in vm_util.c. * Merge conflict fixup in vm_util.c. * Some comment fixups in the merge tests as per Wei. * Added vma_merge to run_vmtests.sh usage() function as per Wei. * Added the new test file to memory mapping section in MAINTAINERS, as specifically memory mapping-related. v1: https://lore.kernel.org/all/cover.1742245056.git.lorenzo.stoakes@oracle.com/ Lorenzo Stoakes (3): mm/vma: fix incorrectly disallowed anonymous VMA merges tools/testing: add PROCMAP_QUERY helper functions in mm self tests tools/testing/selftests: assert that anon merge cases behave as expected MAINTAINERS | 1 + mm/vma.c | 81 ++-- tools/testing/selftests/mm/.gitignore | 1 + tools/testing/selftests/mm/Makefile | 1 + tools/testing/selftests/mm/merge.c | 455 ++++++++++++++++++++++ tools/testing/selftests/mm/run_vmtests.sh | 4 + tools/testing/selftests/mm/vm_util.c | 62 +++ tools/testing/selftests/mm/vm_util.h | 21 + tools/testing/vma/vma.c | 100 ++--- 9 files changed, 656 insertions(+), 70 deletions(-) create mode 100644 tools/testing/selftests/mm/merge.c --- 2.49.0