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 F028AC3064D for ; Thu, 27 Jun 2024 18:25:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7AEAF6B008A; Thu, 27 Jun 2024 14:25:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 75E266B0092; Thu, 27 Jun 2024 14:25:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5B2086B0096; Thu, 27 Jun 2024 14:25:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3F2126B008A for ; Thu, 27 Jun 2024 14:25:54 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B7F841C2138 for ; Thu, 27 Jun 2024 18:25:53 +0000 (UTC) X-FDA: 82277497386.06.D61ACBA Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf24.hostedemail.com (Postfix) with ESMTP id EFC71180012 for ; Thu, 27 Jun 2024 18:25:49 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=NsMjqisx; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KBoAIAEg; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719512730; 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=Y2NtDR1yu3MgIffcO/hVs1zwFPy+e+Nf1FhFP7u9Fos=; b=aBhdOTko8PjQVGxM+PJczYHUHv8MiHNSBcPEADN0UejFrmcjSMU2s6hvqFAqLs0TCcJUGi jM85aF1zsiJn0VR3QCv3FmeRt9J9yjlQn+V4e4VIiLLaXnfgP+cYxmlk8UZ1cXAE2Xeqws zx4VyuTdPca8p6DLErHpbviCZQbuJz4= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1719512730; a=rsa-sha256; cv=pass; b=GSFby23KlG0HK6zF90yQYDPKRFVlTJ/T9jiMV81uuMGtV5RgXYp0XcM4XhhWG8XcLUcZvd aUIIzDzlBdD84e4yF5gnwUaTDB51phxDpLaVOU+/pLLaX5uyxf0LRWejKEHotaVMcbqre8 BpEXwO2axEGGzTCCxbcnzvbFHVQbz2Q= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=NsMjqisx; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=KBoAIAEg; dmarc=pass (policy=reject) header.from=oracle.com; spf=pass (imf24.hostedemail.com: domain of liam.howlett@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=liam.howlett@oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") 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 45RFtYB3016721; Thu, 27 Jun 2024 18:25:43 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 :in-reply-to:mime-version; s=corp-2023-11-20; bh=Y2NtDR1yu3MgIff cO/hVs1zwFPy+e+Nf1FhFP7u9Fos=; b=NsMjqisxdFv0h6ENUMMjNpBCjcyXi4r czsPvaHJDX5xzM2V6ozuzpeeqiEjTQ3CE9K5xKp4YkfiYA7/0EmokOfvAdh8ReeA BHSgvKdCKCIFNCg9C4xDOXWRrmFqV5EUhPgLyhOv8QZV1RretjMrEEq+p+MrjCiw VDZ/D5hFAHrvHb+37vLkHlBVhHGUltVUvpsaUwyVNRqH7oytjeMmO1WOxMP8WXiW qCkVHWnUfMpD+Z2XyfHAJ7Il4oPLCXODPpUq6HMJy3U2bx8g5aLsWM3U44TCLHtF Acy4RRTnbK3yz1im270ABKa0lAFqyRf3x+LYlwaUjSO1244Y+a2meNw== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ywnhb6s4a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 27 Jun 2024 18:25:42 +0000 (GMT) Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 45RIHGDL001314; Thu, 27 Jun 2024 18:25:42 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2177.outbound.protection.outlook.com [104.47.73.177]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ywn2bga9a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 27 Jun 2024 18:25:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Py6kyTkxO8pa6z/f6MH8xisjU2CEx/b7I66U+5uBwatVwfjKM25TP5dV3dpWnX/H3eSoEmz777lI27FwcC0iDmJbSCQjm14IrhQk78RXuNhCd0DZcYzpv/Epqf+2c28IbPG3DAm02GVjKKaa/+A00Gbpyi5hpAmZzsLUXiy5rFeh/lNCY0EMEtvhSnYdwtYvC+5VLPtuDrZTfHE4qb3w5KvYr0iFhRHQtC8iMLhcK+YiuOv6pdWEOssP+kvxwqL+voGx/zb6fiiQwym0ZMqWzUH3KqKOpvWwddFHGCsAFZVUoXinPTtAa3iSlOfjsShfmVsQWS++qibOvHxkZxxeXQ== 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=Y2NtDR1yu3MgIffcO/hVs1zwFPy+e+Nf1FhFP7u9Fos=; b=T+g9Q8M8A4db9NRUyK/C3oe3EVOqnKREGnfmox5P/X3fqELgtfte9h2fro7jWEKnjuOtdZiBDc+6j+3p42/SwuQgLlHa52TmMFrB7q9GpgkyfpTpZjUlFpOTei9dt9BAknBSiVo+w6V0p8w1G2ybBnQ2bg2x+utxMR6xBSZI7ZgaP1/SuhlugsxZkhljHhaNwyH3b+59+z7hq2dnwMCiyskLzxNNVJZLVXROeZtQfdeTwTXv0xnCvVu0SXrKxG2YgBhkrwLxaogOKw2siiJBZj1t7j2xh6uRzC1UPwzQwPhLPWa2kOE1Zb/uPZjFJQjfxxdT4NS/xprPHfORdcMKBQ== 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=Y2NtDR1yu3MgIffcO/hVs1zwFPy+e+Nf1FhFP7u9Fos=; b=KBoAIAEgLo+Qo83qDnAdEBjBtAON5ExR7orfffQxVki/gxK2Zp+LJ8JXGWWdpHGqgea67frlQUFve55MTwavwcJics5eczIXiQhnTjmA86StQ8QukwMYqvLxDVl7ilC2QGGL4H+y7fM2NI3xDKTfbRXBidotBk6H56jROaX/ul0= Received: from DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) by SJ0PR10MB4765.namprd10.prod.outlook.com (2603:10b6:a03:2af::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.32; Thu, 27 Jun 2024 18:25:39 +0000 Received: from DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490]) by DS0PR10MB7933.namprd10.prod.outlook.com ([fe80::2561:85b0:ae8f:9490%5]) with mapi id 15.20.7698.032; Thu, 27 Jun 2024 18:25:39 +0000 Date: Thu, 27 Jun 2024 14:25:36 -0400 From: "Liam R. Howlett" To: Kees Cook Cc: Lorenzo Stoakes , Andrew Morton , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Vlastimil Babka , Matthew Wilcox , Alexander Viro , Christian Brauner , Jan Kara , Eric Biederman , Suren Baghdasaryan Subject: Re: [RFC PATCH 7/7] tools: add skeleton code for userland testing of VMA logic Message-ID: <5zuowniex4sxy6l7erbsg5fiirf4d4f5fbpz2upay2igiwa2xk@vuezoh2wbqf4> Mail-Followup-To: "Liam R. Howlett" , Kees Cook , Lorenzo Stoakes , Andrew Morton , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Vlastimil Babka , Matthew Wilcox , Alexander Viro , Christian Brauner , Jan Kara , Eric Biederman , Suren Baghdasaryan References: <22777632a0ed9d2dadbc8d7f0689d65281af0f50.1719481836.git.lstoakes@gmail.com> <202406270957.C0E5E8057@keescook> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202406270957.C0E5E8057@keescook> User-Agent: NeoMutt/20231103 X-ClientProxiedBy: YT4PR01CA0135.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:d5::16) To DS0PR10MB7933.namprd10.prod.outlook.com (2603:10b6:8:1b8::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7933:EE_|SJ0PR10MB4765:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d2d7876-9c92-4645-b8b6-08dc96d68c02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?T4uq48wPsYk83pWEkKU9ve4CMmIndaZfV9FOzEKL/gfMxrZQRAoDizbca/iO?= =?us-ascii?Q?xtZV914+tdYvCQyQ1d1c3m/yCbVXohBPBSafBqhsP6ozgDUTNmtNX1EHHCI3?= =?us-ascii?Q?p54uxIdJs4kt5ZXkDr4h6XE+3Iltyjjn0URWQaeo1MTwmDPrjDd/1I7OQOz2?= =?us-ascii?Q?MLV8ZQJ9yKY3iaLK+vRhY40A260XMq1uiSlIoLm82/DXUZSZCAhZAef7d/CK?= =?us-ascii?Q?Ok+bbMTmo8JJ1eux75GKbZDLKjqJcQ8tXas4HOvccRVnCbNGr8BArEoN4Abm?= =?us-ascii?Q?wr4haSrymUjwdACMqoh/kbKqkPWsThhaTLwbN+5MKRH8bjCk49QXCTkzdRmL?= =?us-ascii?Q?UhawAQpdAr/w6loPyVklJVTPLCKTiMBqAR5gSJRouvWShAuJ5ie891XWvebE?= =?us-ascii?Q?EEZpWZFKqWSwQNHIcLtEkuWdxLOYT3RLoZ+H0Dbaov2597/am/w0Drbm2ktd?= =?us-ascii?Q?8F+L3A2Hr67XJk+3Wvp0Crp8nZzQXmHsXJbdoEnOz4gGY99zIb/aeNH0WXXC?= =?us-ascii?Q?7rjfztzVEyNsjjLaE6TieAlPOpQ1ksGjbm7sCQ4fFO+vFM/IRuOy8baIJUqb?= =?us-ascii?Q?97ST9b/oNQ/CqxEz4Te8058bY5y6rJ4TsCkS8QqlAmbfs9qsFu/HHmi/7B6H?= =?us-ascii?Q?EmgKicX9CFwxHWf1S4VscVKzfXhfKjWOj45GLkH8rMrsuE9WjrQPIxgpBu7z?= =?us-ascii?Q?OwsaeORoKHuJSmoceNe2VJb96jhIaWVFLw+h0344fubKNJg4zSpHav6Yi4He?= =?us-ascii?Q?DYkKWBSrB6LEtUXZay73c9wyUrCL5siIqdJdUD793VzQ2f7f0XmLNIv8+y+v?= =?us-ascii?Q?ZTCxEebCLb/nxouEsPTVoYSsLazuoLuA/4f73m/ojzNaajguxHvfaC2P3tXA?= =?us-ascii?Q?2TFU95HgNYPrUHrPqSqS8P1VTUvB/gHwlyxkzae1oqYcw04x2rjANBpTz794?= =?us-ascii?Q?veij2yHzpk8rVy+NvhXk6md8hfw2mvJ1Da3qGnjxNwUDXMQGDTaKwZ8pVkvA?= =?us-ascii?Q?niLFCYDpDKInJ6af6VYGl3IBjAkE8mFWrfoq8PKZd/26msNbxKm/V89M53jy?= =?us-ascii?Q?U64qgCOEJOPcTHx2e22ZJYnhPTjAEMQZ0+K1LLUwSZXUbGbyNEXvcdT8pxlX?= =?us-ascii?Q?sOPYCCG6OWxS7zyWh7V5Y4D2s/vXIXVWyq2jH1s7/knZp+dn9rrM2fvbCecP?= =?us-ascii?Q?XaqsVSqzbBLLwZQP0sQ1HwpHk++E0KxKuk0aKBAKg85fwbEECPZwlV7m1mtX?= =?us-ascii?Q?ZTjMXTUTtjPvFndGTiplFsuENOGowzZfkoM2YippOXrkNKA3hILH5WJOyWSA?= =?us-ascii?Q?qpc9KuLV5gHjsp8BJhnyeXf4cuCO4nz0gJErVRwp959c5A=3D=3D?= 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:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9YoLPx3FNODYSnyxHropSy2g0y0K6Z34jSmqgcTDs3/FMLYzXRI3DoFsIP9r?= =?us-ascii?Q?mhm2uwA1cn4q2IfZsMmY9o61NgOygrprtIdpIJVuUzo5B0dd1OYKcWpS3YoA?= =?us-ascii?Q?qFbDDpHPuaPgyn/pLsVxHStpuzkXPgDg2T4cm4l7ZCoweX56Mvvr8WGh0lOP?= =?us-ascii?Q?UyPdsiVyoEzvdee2/1ffDwPsPmzTXT4cY0YLy13mnP3TmDWR0vF+0DY1UHJt?= =?us-ascii?Q?MEoh/AjEQrFlAMHtcKlFhigLsYl5Yg1UKjUyh/OA59rw/8v3BMmXICICp5Q1?= =?us-ascii?Q?CCpyCKun77arSxaO213tVV4C0Qj0zRSmCQ+8cJBtHPr9AUkOs3aH5VX5s3gf?= =?us-ascii?Q?LSdEGY4Ei9h+hTj457H2H+YiCRYIOFjnCKnR9PfnsyVBWsKAXV1uGxiQ6Oms?= =?us-ascii?Q?i5GSu4VO+AFnLccLhzqF+4HaKvhsaPSWsJiYKSUz/Dmnb5v+62RS0QggVZsg?= =?us-ascii?Q?fe5G23fpa1LLPypP5ogQ1LdvyzEm40RLJFdIAAdWH5M3JS68nOybmaAwQzRp?= =?us-ascii?Q?aWWPTkKITmiJZjwkxhGJEYoNiBzi94kN6FzTVSfbBBYJ3ol4WxNoc59RCWlQ?= =?us-ascii?Q?XdNyD77cXvdL7mbrgu2BWMI/OC2VXAKJK0T1xLOVyV+g7jAWGzfZTRFyI34e?= =?us-ascii?Q?c9NPLtMXFTLqJD76TKugsVb5DvqxcaAeXQhc7tPvvWavDSwGWCyxqNYl2mch?= =?us-ascii?Q?UGNM0jdMt3sUZgBB1B0hL12DsCSG+ej/teFJnIkbkBvAvCIqJO8bCyUp4DKX?= =?us-ascii?Q?jSwpUEIfPgph9aZjUw2tC9bMZwX2NMsBiU8UXyg6vz//d+4BIBPwvEo8PXRR?= =?us-ascii?Q?Jrgiwk1qoyaLCnTa3bBf+iSmLNFTsj1c08C+AqUrlQZyZyMu77bP03IQGFla?= =?us-ascii?Q?CIMFq7J0w7flTqOv+3wKiT5jGcw1cqoy89B8B5ex9n81RQxzULjZ7J3gwiWW?= =?us-ascii?Q?Xj81zj6ck0kC6MK6StnzJG99Wg9hhbl8w3q1RG7iHCGHx2dfFuunaU9ckAtH?= =?us-ascii?Q?EOxaKSj10378QUSkeCrOCSV/uiFl1WXbKCnPA2eCfrnrwqQGAwb8s7lGmXQk?= =?us-ascii?Q?hrVK/No+xQgwVROXFqa5nIKnWEMxg+ct1t+BJC9bfDqxj9bKzNHavifxpbxH?= =?us-ascii?Q?Lo7gmH1Bs+mkZ+qFFpXw8zcpKZRxAP65MosgEYEugr2UxfATm9jfwLeiU88l?= =?us-ascii?Q?9SMC3pKuaKhQFPoXPgzmvK94jdRAoUQASBLX2xhycYT5pJi21Tgb8kY/zKS1?= =?us-ascii?Q?odu/5/fVasmQmHehaPq/zCUDaeA/FV1+aM2X55SpCMuuwu/MbHWoOMWlhX4k?= =?us-ascii?Q?O9ZOpGF9I3PDc+UwNfQ+VvH/33XSWxn59fjA11XaODbta2uSOoRDABsHCMl0?= =?us-ascii?Q?4fwQNmQmiZri6c7lYjRaXA9gsIyXtBuLd2x+rnrB7AIJ9Tym+pJCpIoO67a+?= =?us-ascii?Q?doVdevPFm3IXBbZ3lTmTx5jXLbKf9FYMHOUaATclgSVskCfDTXzY1//kwBzL?= =?us-ascii?Q?i/+5YLvnHXV/GrX2xWxA7uLQwHVX4k3RPCHYMVoXhV6aocj33FENtf4rOygA?= =?us-ascii?Q?93j7j9LviVMJvwdi05nFl2Kz7CL24s7Zsrhf3H8qRp3LiXunlUidurkwjHcs?= =?us-ascii?Q?kg=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: G3MN4xOCBPmhCMJ6i5V4RUUs3+0FeZpQwUbJ+WMV0YR00laQQfWHyvyV6Tg8gtNuHq1xXDMSe+07K7RZK6TXHm2Ymz3ivRF2wCq+3QumSvK6bAp6P9ZIXkZvnhBDEmQQbj7GqjAuxiMMwGJLnfGCGSw36flXkegvaF4nukkMtoqIJByjMXX/WpZs50gk/f6oi9ND3Cu3EUChHx9fWjPm7msmXtqagTschhtGEjwTtHa5j16t4pk2bPJDf0fSLJUDZKDIlMzpGoLINlv2d01I5U1VbLYLxVct4k0cDny6vhOXTdKPXgBkDbU48x/b/QzKICkiu/m5najXGcf763/7brccb6ZhqFGbTcOArsuQGGw9B+5jVEQ6jhjn9sqDVR+e+GJkfAvoPOCi6tETmJ7wg4oo++xK9Za9WPfkCgBTs+n7No6LQvA7Xu/h1x0kbpK/aWhoXHDg4i3yVlsApDpt57Fw1cOPsKOO8XHyhy4WHeSDmKFz6YlqnLq/CSORMWCFFAa1L1x1CGXpTWxJw76PfznTJOGKhCjsZTZ2sATyl2nmw4MIWZfxhGyuPkMMcDfFpJEOqRILFamW8ibT2Frrs2WzWiZupzLY/82xx425qcA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d2d7876-9c92-4645-b8b6-08dc96d68c02 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7933.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2024 18:25:39.7073 (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: UoN536bLzLGbs43D4vAM47G4T7XDRMl4+zrAMJ7F3QgRva47ObUiH5JgyMvmeJoY3B4teiICALv062NtzLKrHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4765 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-06-27_14,2024-06-27_03,2024-05-17_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=440 phishscore=0 suspectscore=0 malwarescore=0 mlxscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2406180000 definitions=main-2406270138 X-Proofpoint-GUID: uMeqxwgUw_lZ5ZkcxxwpuuZSNOIAtXs9 X-Proofpoint-ORIG-GUID: uMeqxwgUw_lZ5ZkcxxwpuuZSNOIAtXs9 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: EFC71180012 X-Stat-Signature: m6ums69wyfmc5dn7euoswen6cko3jbkp X-Rspam-User: X-HE-Tag: 1719512749-988280 X-HE-Meta: U2FsdGVkX1/2iui6IiTp3dc/V+F7NkAlPqp0kLWK5d7CGqrQ6FwLQy8fKLZpEj4hbG840DLJ2VVjk3ozK2fp23OIcdPgRFXOUc19gRdL+IGksGRmLCegqMyxetCYJa+YysJIopWwXJ94xWEqi5XNe4vjL4D0ulqbgsen+b4/YUAQafmsyxYzbXk2cDqU3SUwmhibIIB2x2zO/PCkutJIaJXPCnppJeWfB77c7tCIQ7XPxmqDLzp4KV3TXpk0ZTiVnO5SX6hS7VxOsVzHWUxfBpt65iG5WYdnHNCzPuut7xBh3chITBwqrOx+nl02/6z58eWdl191d3SqwjH/Cl2SdH7PtjO3Xl8InWIZBIkUMyFk35PKm19MA1vv2ImktEPGNHK/Iha5oWpyoyCKBS1wTsGgbyzpHQ7e5RObm+JTJrhCw6WaRKhIi/x+oOM+tBy6LNitlUHt4KhIarog0YNH7//J+9qghCzxpko9w0h07ZSHlTzPSVDlVIr6SDpl6lyxjSPfkE6nAPlhOvObr7gmUFDjX1eSfvLvS0CLLn3ihuokzpt8y1ZhMqtuF0feedzhSKfA+r7sq0qVG3TMukRuH+9V57qAKVdC1UIDsusKW5VtEvLdMhLhSVtxpw8y4xc+GgXT8fHuzTboTWWKoEbQKTiS0kxTAD/zp0WkcyEewB0zaB+hFZRsfvnp4RTT3kGEabcbtcjdQxf9QF96ACKnzkDUGhDXVK+bySrQkbee1GEggoULkTjvISt9c+BVKjeCfaVuHcl6WExIgoLjzf5MtzWAk4GGVVBFgH52G1pkqqlKwy8Pi1GkyRlZudNtve46+7seJPxSN8XbJggfDTwt8P/2qSUjM07CRY7Jalyl6HOQ3GPufZhiu4UNPdAz8HDl5xIcNzxvcNHy2ZmPooD5HUDsXg6Zk8Td89ySbfxFS+/pSGgmS3RUJvfuDiNZauWOY8GcYg5TP1m2mEvATeT 6kGVVJow YpLxhxVOwY0RsaEQGWnuQeC5bZsLiLORr0sP3zE3c/mNxUbme2ZSAwEkEcpmkd7ebhX6KdXYEvJMpovlGimm+2/LkMsZIx2LBYSlwv7Dr6h/I8GgskevacpAxpwl3WGw+Q4INaNDI825QlwhDdmuXND4ruwiLZbSzMcC6VN6iYgB3tc6++y6bpLiiUn9lEaI2rE1EVFJYe5I28THA8A7gXRd4l6Ty8fk2FckE2VV8vtGnVDz+9Hl0xDB1x8YrtL5RyHEAnA8ZFwAraF6/6Yta92ptNPp/ru3lP01ZxePw/fSAAaXcq+A1HJ5Bgqlx4jSExMxREDfpH5C5j+HBZeppL6/jE31GG4o8Xtv3evhpMcgMlvKmcBFIzwo+8HTfN0s34EH9nsU94eGVYm1MDFhNCUaFJ6glyAm6sFVG5sC8cHfwEzfN1Chb5LA08K0VbbjA86LeK/P5LcCdkS6oSJrNWo/LhJeFhYvX4xLHSfTxX954MvoF2tdXSJIM6gD5SQPank3N 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: * Kees Cook [240627 12:58]: > On Thu, Jun 27, 2024 at 11:39:32AM +0100, Lorenzo Stoakes wrote: > > Establish a new userland VMA unit testing implementation under > > tools/testing which utilises existing logic providing maple tree support in > > userland utilising the now-shared code previously exclusive to radix tree > > testing. > > > > This provides fundamental VMA operations whose API is defined in mm/vma.h, > > while stubbing out superfluous functionality. > > > > This exists as a proof-of-concept, with the test implementation functional > > and sufficient to allow userland compilation of vma.c, but containing only > > cursory tests to demonstrate basic functionality. > > Interesting! Why do you want to have this in userspace instead of just > wiring up what you have here to KUnit so testing can be performed by > existing CI systems that are running all the KUnit tests? The primary reason we did the maple tree testing in userspace was for speed of testing. We don't need to build the kernel, but a subset of APIs. Debugging problems is also much quicker since we can instrument and rebuild, iterate down faster. Tracing every call to the maple tree on boot alone is massive. It is also difficult to verify the vma correctness without exposing APIs we don't want exported (or, I guess, parse proc files..). On my side, I have a module for testing the overall interface while I have more tests on the userspace side that poke and prod on internal states, and userspace rcu testing is possible. I expect the same issues on the vma side. Adding tests can also be made very efficient with tracepoints dumping something to add to an array, for example. Finally, you have ultimate control on what other functions return (or do) - so you can fail allocations to test error paths, for example. Or set the external function to fail after N allocations. This comes in handy when a syzbot reports a failed allocation at line X caused a crash. This has worked out phenomenally on the maple tree side. I've been able to record boot failures and import them, syzbot tests, and fuzzer tests. The result is a huge list of tests that allowed me to rewrite my node replacement algorithm and have it just work, once it passed the collected tests. I haven't used kunit as much as I have userspace testing, so I cannot say if all of these points are not possible, but I didn't see a way to test races like I do with rcu in userspace. Thanks, Liam