From patchwork Sun Oct 6 14:31:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Stoakes X-Patchwork-Id: 13823768 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 6B274CFB424 for ; Sun, 6 Oct 2024 14:31:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3ECE06B0276; Sun, 6 Oct 2024 10:31:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3763E6B0278; Sun, 6 Oct 2024 10:31:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC1316B0276; Sun, 6 Oct 2024 10:31:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id C16646B0278 for ; Sun, 6 Oct 2024 10:31:34 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 6376A80589 for ; Sun, 6 Oct 2024 14:31:34 +0000 (UTC) X-FDA: 82643415708.23.D36D529 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf20.hostedemail.com (Postfix) with ESMTP id C817C1C0015 for ; Sun, 6 Oct 2024 14:31:30 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=fmLUYvAj; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=iVJ6OCAP; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf20.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1728225049; a=rsa-sha256; cv=pass; b=K7SZ2BIKioMi5XZJ2SxVzM+HPWtqIZfUlIDt8+4tuumLTPf0LJXIlrBXxjdmr3DjB35CLJ w7dRl7jgP1V4ps+m8krheXzKOc4TZUCng2HWtJKnZLL24YiUQuIbAVQFkwyDL+4JpATn6Y V57kPfMkDzIs7DXvAWJNKik06/ZiXsg= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=fmLUYvAj; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=iVJ6OCAP; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf20.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728225049; 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=sk/AdneOvcPd+6OW0+cMIAMxl2oHVeqmx8xLwcLve40=; b=3zfIXMPElDernioIRrxsYtCyVq+Htfpd1B4iD9qNt1ZJi+32mVbPnShn5+Z0MV2WG9ReXv DpB4sV9Mw10wxpQfxsHnwGwhtRlJ23ylSWLSffAtIf9XnMNLAOQ7rdARveN8H6fhjRTcqx c93OBTCztJhz9f7jR1Gx5nftHrym8C0= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4966XX8B004608; Sun, 6 Oct 2024 14:31:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=sk/AdneOvcPd+6OW0+cMIAMxl2oHVeqmx8xLwcLve40=; b= fmLUYvAjxOxLBKzW7tbBiOMQhmcT4UcRbJht2ocYRmewREAAYL0iiianOcohYqhj LcSqSVQU7UtgYb4PW6EhTl6fMsx8U1A9AHNZevPdJHM5q2nmbBx8M0+4JoOGd9+S /lYVYJsPohOC0XV0i4JNGrV2wxnvi2cBTrYeT4JKCZXTWeV0SxCHbzKt1fVdY28h Wp4MmhGDmEkSZ2oL+BSJsYp8dwT17IyWKrbj2a/VrOL3uu/ntKPENHbF3hxlLDT5 mw2L2mcmvHOBiKrClBbvW0CzzJqAHHLeP/AFeXyOBaakVJRPX7YgW5JIQb9Sifml Rkrl7reyEF/xzZhVnWK0EA== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42302p9968-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 06 Oct 2024 14:31:26 +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 4969Z03Y012028; Sun, 6 Oct 2024 14:31:25 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2173.outbound.protection.outlook.com [104.47.56.173]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 422uw4x515-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 06 Oct 2024 14:31:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fJoe0pQR2HZ9+DNUi1/cqekY6yDicIGXWXGazfKuT+HiBw2TEqpd7OjYyFo2BkebaCJ09LlQirBHCp4QpwqBAExJz8WQSETJsKCzC+o61Qis9Q4guifTF9qkRKsfC4/IA4pL9fCyGOflmH4qlHMVALZ4QjGQD54vXtaV6Uz8J0r3Ubhi83oXN8JD14hQhMDTLV+C54SiWYHuUhIZ3WIsLyzvN3nIft9yGEF30trWwcwh8OXR7rZ+gf5loACYkfm2mD9rFGZWnaRJu6y9BQuCIU5ZBYWTSArm0lfS6v8dH1O27piNht5y7XlP4EvLIpcspbiE3l1ZDZzdX4EU0TVAxA== 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=sk/AdneOvcPd+6OW0+cMIAMxl2oHVeqmx8xLwcLve40=; b=N1O7OwbsZ0y0Byf7lERSJrB9QKxMaPqF2zKQe6RkrgFJaK9lo8dDjUsvlyAGQtI+B22rzk2fxLfCG8knoGYH4Sd5YPDfsbIAO41sNMmaHlkXasGD19nlY/5cRiUvFNQpQHq7SHlyPbfIXeVydKLJXGSyU/bCEXgXLhV85MpCOk9A8+wuoUPXhgv5QN1mUbfpovp/yPChYkIPRd08SdwY4kmJNhamUo4KVshTMoV/2a6PqSy+Dcys6fl7IbkDIwEGZPmUZpV/uG2uaScrBcOZovxnn7D2/IEKClALiN4fITCC+ks9tKG2LmjlMaRmHwUETPRNKFRxEp/7k60o8m2EZQ== 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=sk/AdneOvcPd+6OW0+cMIAMxl2oHVeqmx8xLwcLve40=; b=iVJ6OCAPsG1vlP4mIv96XDwBo15tCQNFqv+AVp8OF0L2kmCcz3Z9/lDKT87h16sa5eVOO/F80E9voro2h3Vf3fjuHs7NXcSFfazhFa59ddt49+93GCNkO4ulKTfoB/UA3OAzbWmxcowBeprZcCl1B92y0iZjx+jWFuoCdkg785Q= Received: from SJ0PR10MB5613.namprd10.prod.outlook.com (2603:10b6:a03:3d0::5) by PH8PR10MB6503.namprd10.prod.outlook.com (2603:10b6:510:229::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.21; Sun, 6 Oct 2024 14:31:23 +0000 Received: from SJ0PR10MB5613.namprd10.prod.outlook.com ([fe80::4239:cf6f:9caa:940e]) by SJ0PR10MB5613.namprd10.prod.outlook.com ([fe80::4239:cf6f:9caa:940e%5]) with mapi id 15.20.8026.019; Sun, 6 Oct 2024 14:31:23 +0000 From: Lorenzo Stoakes To: Andrew Morton , "Liam R . Howlett" Cc: Matthew Wilcox , Vlastimil Babka , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Sidhartha Kumar , Bert Karwatzki , Mikhail Gavrilov , maple-tree@lists.infradead.org Subject: [PATCH v2 hotfix 6.12 2/2] maple_tree: add regression test for spanning store bug Date: Sun, 6 Oct 2024 15:31:08 +0100 Message-ID: <12af588c6b3338bf6a73cd2d95943a83a44c3b42.1728223996.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.46.2 In-Reply-To: References: X-ClientProxiedBy: LO2P265CA0147.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9::15) To SJ0PR10MB5613.namprd10.prod.outlook.com (2603:10b6:a03:3d0::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR10MB5613:EE_|PH8PR10MB6503:EE_ X-MS-Office365-Filtering-Correlation-Id: 802234f9-2ebd-4e3b-86f9-08dce6138d6a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: +9e4TBeP+wIfZbn40pWa5YTy3YHHZjnbo1BbpiuRIlMciG22kLrPcEXpxhMQY4gaucfwCoy+J1rKi1z2N7D74LaF+kHk9dhdyF3EuhHz4PFKzGtmFidw/S/1zDnFgg6qHSeUZ1iSF4I71FRW9EHU1+IQwZ/QH++As2gQ3EDf2degy81U5RhGZM4fOn0TCLHnJIPNvR35Lqb1C64XmR1GBjawDUCQGBvwsLd59jkvJTHwgiERLEeJOmar+Klj1lN70HUEwNlUtymfOwHghkqP7EifW+oqlna80CDCwnldc21xP1ui4w+wwNO7G74mrM/Ghk0P3bScenIW+UgmAAJEIMcXZXpKwpfvY/tvrhgzEJBCyqRrRPq+GPbriG4QGd7MEbwNTWg6Fsvv6Qtph/ZRbGACx42hLlib3lGLnJv+0Kutrc+SsyPAo42gAIRk/tIo/rH6wtdFGOqeO5xhKxCYvaL8AxcByoNzof6qbv92nprZEn0msFZ3U7wJJnk8hTwhr10pxBB76UczBUupA4yhE06/Khj20qRLRrZVBZdlKyGkmWvM4ork22Q/8K5u1vfFBq2wPBwuhEPkbhNWCG1U6ov31AhtN0PkpnL8Ec3CzOeT+C43y0Mari5IkGKjtiRZf2DsTSr1zo3Bqq4nvoyGN2f7q/eed8DV1wDjZEFicuZEXpEN0y/Ouda0b+neGkbkKW5K2F9ghWZesybSjfsMeIqOLBsXlM+CF4ipmZEh1fKPwgZnOX6Fl7BwOK0rg5NFIj0XI89iWMztmnuMeYOxRDSn3/lU+4colSPHL3nneqdATiyAr5qkGwwjH5wnB5RmJRk70PyUrk5ucjYTcwSB8r7W1qm0SSpIMXg5VDMXuLuu6NRF2cLf1dqgV1rp9q+X+amUQ+2yOnXLJzRTQkWf3LFD1BpSro/roiBHsqNJfJe88nAh51Zurl01vlZPvj7lzJZiP2XNHczcamL8PBqe52MyqCn47ICclAwUcaHi+tyXOIlq8On1ugo2520b4LlGMklzOJDt+41UwGkgLCWjsHBAxw5x6aIJWRk5/XiKhHeBjIrAE8mj44w2glSoXFTbgM+GG2pC0JVLxOLaSAA2fIgWgrqDg27kA/Ie01AEVY2X/8q4KVDn6eN3+8ngl6n3n3s+ugDqlJt9K/S9xyyEpv9JChv8FvyxLanuTbg5OX7q0gHhN53Zxe0JV5waSeDuB/byKzi3eQhIpawz9PFsmRwB+2hhVIm2xk9rmR+8U0IzCOu+kJ8b3X1FhXEkUPj7iRa/I/swJY+Q2m8nncf8ug== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB5613.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zB2PlB7VQdNvflBf3Osty2ladEZQEgR+sW5xV6gIAf/wc1w5i+p5qz/TSjPoZlZUcYBZ+N6+9i5bWVv8xtnBoVIshZtlLu0NlSfKBOwK4wIvjcg5M1LZ7Sb87Mqpi9jGhVEWAHlXlxslVmGUui+SBUz1xBxuODhco0l3Dps10QLhaM2CG2HW+e1Ev0eVyVOuJ7jXo7/t8fjMixh+7NF89ZyQUaGNCrJE8c9IHfn5mr8k/ncn983uWDPk+1ybfbE3H9ZJbLUjFwvLEt+qz1xNPBkugrRLqnkP+vjq83b3JDs3L+fEZNupRTuLWrBB0bbHoC+Tk3KSQUYIml8NQBpW9TFvRvaZAEllNVtyQv9eR2t9r72Ze39V/yUthb4aQtvOCPTtwftP0W8kJRcwMhf+ll7kSim9LxIAnkc+R8j2TGnMBE2CYxCuasZix2zoT8NP6XunNM4Mxo+Mwg4JTBhdIWDxPeG3FEwFOtEBTNWkJ9K5OayU6+WBnQK7/Cks4NDHSlFkGD58GzRUJ64KnNMvuW/hInLUDaXksv6s3iopiVzQtpBohQzRq2BwbH0cOEAQnWCAlL3jXSiPiK02AWHMEoNjG9F4KAZMVIlEwPetP+z37YMHlj5crwC7JjuOAzgYA1anbgfxGOaaZitFMRfpiZYM1ZR5OMDr1J7fwmDG3DvgIBoEjihY7Ejf+qMnJOql+yl2NbfrYqxLcZ0cFsCWJcLEDs44ArRf4ZkRwYc6vKarekgO9iUsyxEAA7UFRxqgLCMckr30swbnYHgpV0nbFW9Jfuwhvgi/G4lZxJujlCMldAkWzyYkvKx8RZibgN0wn8n9EM1ibgclacvXURkMyhc76vPHgx11spAWj3jrl0legb7QUI2rSxC0uVlS4uXSm5qwdBg9orAk+Zz6QMSY8et+IqWWWqmMssklYgVJEro1yLKqPyHG6U6yxH8sj+ra6qa/1BraLDiUjpm1pXrDWhp0opj6M1Qcdvmm+iRk+hsARL8q5EuI533FWK4r3yrnH0SX40mZedQkAkfd1/RHoK967ZrQETgT7Z1rRDbb4Ah7WPZaJYhiBjA+AuLXMlb2JZQEitFDF5h3JFbQAtSodAofCH89f7pttOW8eJHsI0tzjp40Z7OBvfT3X2zwWg+rEtwZqyt+7b2EhBOK25brkzKpg+xajYCa4nxDBDAONUBnUTkSJHRL5uJu1K2lDzTYWbWMiwcMtcQ2cprVH12HQNvWITIh9gaaTBgRycTnomWeIB1vjYNGH+NSget1ltk4GSMEkV+6vxwuB8QDHhzQzM5rX/r43gsZ5dKssGU9VZEaGaHY/b6Y+DOhK/umUKtW5ir5khnOrDL5yHvUcm9Yiygreq2BHRyISzF3mi5Rf202y0BDIZ/wIJQhyivJUVtT7rSFGQiH8XkiIQN0eHRKtCN1aXwMzfxnjdcd+BPy6cp6nYZH/Jj6ijcSadfosrQjBSy1JIPjPAAWJE2IgScEY8NoaksRtziIGVNPU1acBBDDqTIq+/S+YYnwQFk2hA6i45a+uOG/kAgQM4yRBrJtepRj5msnfDHQ0gijR+2JRQvGzxXKq3JADVQPV10L+VhlwIzy4Qu8/HCxvXAVcroiJQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: zEXyT5uOn1aA/R5Zh/+8pshUGaOoKZ+ljbPGd4GAuamlp0EckttCXM31apXi+z1dPMgF1x7fiyE+bAjKSg2LXIo/qR/LQVnVitbc3d3V08rd/s8N6RMaRhECpxTyA3OrWN5vZSV5htdU00YVzdoD36RDHyTLfjH03JJk4MN0uymJhPAE7P04U5/JgVHAKI7UKDF52437KFE6SPIh9atbge7j/ixUTTlaSs5fa/WCcL9iZ/3Rdw1UT8qv6tPabYkBpMl/3TmGHB202YJRwzSvrNUnlprpmaq27U4aeZK35yDy+kKmamG8spzxIV7Zpd/HbDarcQG1FZQEHDP6EkKnZCH/TQX65jtbi4R5aUQYpsbRbA2yskMOXEVjdwLUNNMc7TUNrkZOnkbya0hjXY5nwtpnjRa1mXIyePKel3G5ZVbw9ZRNxuZy7jM7h2I1nQBO08+2vhGmYzIsWaAAnXQqhg7UMihw7LJ3EIOJ0ryy6eG+u4hwpfveT/2YlmBapYClNl/Yzeaa+liw/Hfc2o6rooGsh9kwvnIm5n1Q5ggDdNt/s04niVexc01+yHBa/Ign5Mwco/rtSBWvDNqkkMkWyBdZVYWQFfkYrljk1Dw842k= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 802234f9-2ebd-4e3b-86f9-08dce6138d6a X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5613.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2024 14:31:23.1874 (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: lCLYufe0L4EGC3CkQ99Nsnq7CPgXul/LY9X+4nC1iLcXaoQmC9CUvgQdPBnntPrT9MNG96xvjr0QBMEwpo9074Sz+5b0rUl9XudoMfsbqcs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR10MB6503 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-06_11,2024-10-04_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 phishscore=0 mlxscore=0 suspectscore=0 bulkscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2410060105 X-Proofpoint-ORIG-GUID: 7fgNrj8yXV3IuNJGH-JI5wt2RG6ECY1n X-Proofpoint-GUID: 7fgNrj8yXV3IuNJGH-JI5wt2RG6ECY1n X-Rspam-User: X-Rspamd-Queue-Id: C817C1C0015 X-Rspamd-Server: rspam01 X-Stat-Signature: mwwf6dho4px6p4sdpt9aj1p6ucmcum9f X-HE-Tag: 1728225090-75586 X-HE-Meta: U2FsdGVkX18f/kVEZV3e0EeJ1dl3gCWNksdAMsWZ8t3gP7Qhl47d84TToRx36ybIiqTay1JQ/fz5RXyipiS5iVcmONvweN/qMjwAT31Q5LuMErRySGDh6DmcmxkSzcE/TtXhXhEqmd9wkf1yx9iMlWN2cH44UERTTqv7Igkn6XdYG53MDSBxJ1I3R5IOCCsw6C7U4SmHqdm/g0L3+Bo9LTbemRe9Wsmidw9ELYuQb8aPZdm65UZpYW//r+/qgoXGypq6+PGYIPCi1ojbaS0m7Z4IrljfDt1EwtL8q5eJrGVdmdqw+6cZ5PFDEQp0pBIAhhP2ocLfjItWn3LTrjJ4/zeBroiALUwSe+OBxDQ30yb1E11TcDxpv3+0oOn8N0+DgNOZFQdWoGdbc0Ayl46zwqer3nkoghJumGBnGTW9PelzT0LlonhEHi+gD4qDnf93F90opNvyjZ9G87Stm5DK09nNb5EeXd7d0Um/utYkvcc9OtFe0iBO7KENTIK8Ky0et6zrbsXYRD0/5uexz6EvEwa5aBy4ROzvktmmRtDdwsnyltoGJf+g3KtUCVJWzv0uDTvyv9hCO8lSpD4njn8dAM08ETQwg5a4gilQWUvTZFCGc9ue62Tszi8Z1339gREtt/VOju8SyDDCwK56hbAEBnRd9LnoTTMVMf1t2LZLBgbTRkkh6qRNRKf++tvlrKX//qzhToPs5SN4JjCm4/vyEhquuqWAr6coDXw66B79bAibNERoFJS6mk26F7biXbjJ5FkKvXOWvUL7hIKI8Jccbrl1ngYBqYVM2n8ZHX7kbuT2ivXSgRx8sqVL4gGNCUAuhAQ7ahQJ+BoB0t/DIJ67Z/IHEXKF6d1hkLUWBfLkzFhFe5ZtfpiTMmWWXIUs0MlhWNVvouUY65hKV+ezzRPMqk13XntUA2vGFNKg3brHYtF0dd8L9KwOasanlTu1wjthoOnJxWn8VweOITNXlsh 0O7juPpY wnmNFAASQH3xE/Yl5W/FocNxxnxrEXUjYf0gjUndVgv1AxdcdRPNKCzSB9zQyXsObaauhCLgyRqc4LXLKdCFwgI7X4Hh7G8wvWXhEAJaEdvSX5svrqt2SrGPqYVMoU12tKGfryWxCMw7dgzyPQx7lNRQ5kqjNGrw22OhaStXhwa14Vr/V81xd+7rqnEPZQxOQmgx0HFY6pqQlklexaiufJvkR4IlMVsgroBMgO/uk6B8gVzf7Y+gjJXPDZYjCM4fUS+5kr0FHrzyaZJ+dKaJRjMSQrF3ZjqnFSXHh49mA4HXhklTqjEy8vClppn7Js4Fb9EdUdjFXowyEBQzeoirEGr/fQ4rNktO1rogJvXrafQGAd8Tj7C4YIoU5KIntavbjh3CRFzmeJSUK3G+4TnI9JxJqbBOmzftyjdbUux+BknYGBGp5AWp/q+BBt+gsgtk+2bAUMK4Z7Xz66kyGPaYJz+2UD/LTy/0/9U9enRyirzjhszezwqlcP99pVQEtNSEq9swTgXkRllZLChFhF5RaUH89ils3T2i0RJJ5L4rHjKuBL1uLdZaC16x3HpSiuNew05AIFB5I64ZtmtJAfs3dWSYZtpvPxp/mX86uPeUUVyFW7EOcLFqkpKOodpxI71DZjglM 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: Add a regression test to assert that, when performing a spanning store which consumes the entirety of the rightmost right leaf node does not result in maple tree corruption when doing so. This achieves this by building a test tree of 3 levels and establishing a store which ultimately results in a spanned store of this nature. Signed-off-by: Lorenzo Stoakes --- tools/testing/radix-tree/maple.c | 84 ++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) -- 2.46.2 diff --git a/tools/testing/radix-tree/maple.c b/tools/testing/radix-tree/maple.c index 1873ddbe16cc..5fde09999be4 100644 --- a/tools/testing/radix-tree/maple.c +++ b/tools/testing/radix-tree/maple.c @@ -36406,9 +36406,93 @@ void farmer_tests(void) check_nomem(&tree); } +static unsigned long get_last_index(struct ma_state *mas) +{ + struct maple_node *node = mas_mn(mas); + enum maple_type mt = mte_node_type(mas->node); + unsigned long *pivots = ma_pivots(node, mt); + unsigned long last_index = mas_data_end(mas); + + BUG_ON(last_index == 0); + + return pivots[last_index - 1] + 1; +} + +/* + * Assert that we handle spanning stores that consume the entirety of the right + * leaf node correctly. + */ +static void test_spanning_store_regression(void) +{ + unsigned long from = 0, to = 0; + DEFINE_MTREE(tree); + MA_STATE(mas, &tree, 0, 0); + + /* + * Build a 3-level tree. We require a parent node below the root node + * and 2 leaf nodes under it, so we can span the entirety of the right + * hand node. + */ + build_full_tree(&tree, 0, 3); + + /* Descend into position at depth 2. */ + mas_reset(&mas); + mas_start(&mas); + mas_descend(&mas); + mas_descend(&mas); + + /* + * We need to establish a tree like the below. + * + * Then we can try a store in [from, to] which results in a spanned + * store across nodes B and C, with the maple state at the time of the + * write being such that only the subtree at A and below is considered. + * + * Height + * 0 Root Node + * / \ + * pivot = to / \ pivot = ULONG_MAX + * / \ + * 1 A [-----] ... + * / \ + * pivot = from / \ pivot = to + * / \ + * 2 (LEAVES) B [-----] [-----] C + * ^--- Last pivot to. + */ + while (true) { + unsigned long tmp = get_last_index(&mas); + + if (mas_next_sibling(&mas)) { + from = tmp; + to = mas.max; + } else { + break; + } + } + + BUG_ON(from == 0 && to == 0); + + /* Perform the store. */ + mas_set_range(&mas, from, to); + mas_store_gfp(&mas, xa_mk_value(0xdead), GFP_KERNEL); + + /* If the regression occurs, the validation will fail. */ + mt_validate(&tree); + + /* Cleanup. */ + __mt_destroy(&tree); +} + +static void regression_tests(void) +{ + test_spanning_store_regression(); +} + void maple_tree_tests(void) { #if !defined(BENCH) + regression_tests(); farmer_tests(); #endif maple_tree_seed();