From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 841DF2594A0 for ; Fri, 3 Jan 2025 19:36:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735932964; cv=fail; b=KNExmd1krkN8MA2pYD9KsMQGxA9IyucPWOWyBEl5qCSEBsvaHLSJ6zyxMBg895b+3Mlk0Ov873egv6smXTkMOY/9KMtJYvXpxXzhFVbn2MWmjh98L0Su06MKto8kz73DiNca+stIO9g5rYCfBwk+PZnNdhQL8U4ISIXgmBGC/DU= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735932964; c=relaxed/simple; bh=9P3sI6C0hjsiQvc9PK4EoLNscFYJRA9JbSUg2Cbvum0=; h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=SxuHA3Lufs/8//AgUeVBzTIHESDYK0vuGC31F15mVo127O8BLks4Cz0LNeBOezPfBCfKuq6/XRrBFoV7HAdg2qqptneKu00UDWr1i1YtFqFW1hem+xkDuSi7UMSkOoHuOL2qJFi6RhFrmQIzRQQDMN2rhPoUWqdDbfPRKOe9f48= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=omhovK8A; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=hrvYI0ws; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="omhovK8A"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="hrvYI0ws" Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 503Id1lq020580; Fri, 3 Jan 2025 19:35:49 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=XNmR4dHBKdJZ10sB 9cjq33xFisUYPq1v1aGEWRC0h7U=; b=omhovK8AHaiULTvY16R+6tc75o7uShn9 hiPJ78iwcpEPm0Cc2nvGVc9CFrQg3OQRBg2hR39pfPNajFvhFRyClE6KSA61DsaY 2IHc3S0txkKs88RKV250JgpmCs3+IBUoL5CXQAE93ze8W+sZKG7MOrs113FT77kM muL2aCriGUBryXIY1w1+iVK2tx+6uWfiaz7znOeLFNLzCrudmi2+4QjkZeIgFI1U 2sSvQfRBnoleM63rX7+e8TNmscHXl09yXMpqzyleEV/7qGsCBPBjj3tRG6AJeFKB lQcchYJYKLw9laCL+5GT+yWzBvnp4GqFjyFCIdf6u/WPTlvis4Lj6w== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43t9chgpbv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 03 Jan 2025 19:35:48 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 503HodKs030159; Fri, 3 Jan 2025 19:35:48 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2171.outbound.protection.outlook.com [104.47.58.171]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 43xcwggb4b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 03 Jan 2025 19:35:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fvOhTnFXc/VaZvj2YWO+4YVDKAtgUNC4GET+EM85I/VBw8mkwtJVLtDaPUVizJVZhUT5BOTSsRjBb1/Tg7xaaOUtx0e+DDgWY9MnVqaCxMtkIOyQXLodRfTBy4ul0BDnvHkco93P6O74RB8il/rLtoRJqm3zm1qLyCxhUWkT6lJpzbqwfiez50v7DZlT1pXSYwe05TGU6oABLo25arJe7YlDlhGHPSEPv5WMocUJNKDvTlgCpzrkSzJ3jUMYzzNbniomZfMqD09Toe+Qy4mkEPjnc3Auafi/rywv70WN/WSK0XuRTktUAmdkCwKeN5e7+2FFmH68Gk0lUXOji+37aA== 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=XNmR4dHBKdJZ10sB9cjq33xFisUYPq1v1aGEWRC0h7U=; b=pbgTkiHNJPyIIPlHqX3blrEGCOUh1dtP+be9srBx3bO5ducnyGvnCGqk5kQbvA5VCNKKIklB+tcrJY066dRWPH9sNGD8QsImv/rfLlsHF1+eJHbUzW/H7Vveznd8sMjy9vIEMvCGn+6HmeX7HDX2+znFTOdUwmk/JnFUETDgwlxFewDBb9TA+6D4eAqVnn/MorTCKZ6gclVS/BZB9OB4dZ6xN5HGtw06usmHX9AayRLtBRMoUGs7YeLH8wM1FodI+xuBLvb+nYwTPgNwfdbapIwbSxCUcbFmjiXRdaFMuqaHRgBphdMhAJX+FK+SALAveCrNlaWnZy7WPvU4YC4dRQ== 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=XNmR4dHBKdJZ10sB9cjq33xFisUYPq1v1aGEWRC0h7U=; b=hrvYI0wsJahAHDlgJ8UKZzljtxe81yQ/M/10xkPIF4qLoNixhTmYoIYrY7nTnrDHGmd5eQfTkukOjCT1j/l5nFY7/hvXjBld8hqGhsRBMXVvuRVwft6MDcR2fdVwP9b+1H7NWzK810Mztiygtokpqlx3RHKYj8uXUCWNWj9lSvo= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by CH0PR10MB5163.namprd10.prod.outlook.com (2603:10b6:610:dd::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.14; Fri, 3 Jan 2025 19:35:41 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%4]) with mapi id 15.20.8314.012; Fri, 3 Jan 2025 19:35:41 +0000 From: Lorenzo Stoakes To: Andrew Morton , "Liam R . Howlett" Cc: Vlastimil Babka , Jann Horn , David Hildenbrand , Matthew Wilcox , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 0/2] mm/debug: introduce and use VM_WARN_ON_VMG() Date: Fri, 3 Jan 2025 19:35:34 +0000 Message-ID: X-Mailer: git-send-email 2.47.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: LO2P123CA0048.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600::36) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|CH0PR10MB5163:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a29cc9b-1a42-46b3-f68e-08dd2c2dced6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?6NFA51lSQzQcqOZ7pAmfUyyCFXc9I+Im4RbPgcVVjmBEIghYMr7+minvOH03?= =?us-ascii?Q?hHqlXRLshWnKRymmknE77pXJqR401RUd741vOmIuAdWXpKBNo+T3evC/9qVV?= =?us-ascii?Q?7/34CmqFJTxFvqXW6gxDht8mvCKa4C+3Af5ndHSehbZ439Awl7hw8exiXWl0?= =?us-ascii?Q?Wg3qIK52L59wtk8VEiOhZIfzf1s0OTGOC+kn5qxvsFliiGU1OQuOJdgqyATC?= =?us-ascii?Q?WtUPlJlNU7tVKjYFYObuf/bz6ireoA6EGhIvSmSoEkxn7lhTv6PwnCmmgIxg?= =?us-ascii?Q?X+afWXk8OvobNNKYtJvruMjwCpOnQ7oyoa1Y9YYunT/LvJ1IiL83Ec6ISxln?= =?us-ascii?Q?c6aKRyvab6ofOqf4AZIOt3k+V4YHEiFGFB22+4R+WptS+boNdrQTc/ey1ZRA?= =?us-ascii?Q?mGTWGlce9ghV0IWIqYsEinE0Fg23ayRUHgmykOnIxES02Ky5xjVpv8Fe9pQ4?= =?us-ascii?Q?vsVKZwQ3M9Szqa2cJjYwrYpb7hsMTfprCIJTQ7B05+pTAXt1wJRVgCc9z4Wb?= =?us-ascii?Q?n7vPrIpr1gevYrNR6wbuyHr03mpqyVa/yNSIYvURts4uTmcjCPgGU+Nq+Vp0?= =?us-ascii?Q?LYRW6UwN7W4T+Y7C/gPgddqTI53mLDhgsu/7/MZohkn/KR2E+uJI8wzP+J8A?= =?us-ascii?Q?VJ+A6t7nhg9ALkguGV3bWOv5WExVwYzJRVSmdagM2JUIhMBkQvjqtVLNSafc?= =?us-ascii?Q?MebHugkNAZLJSdV+c0LH63iSl/eg7qMQnGQG3Tt5vAO1f3duQkKDE3T8FWhf?= =?us-ascii?Q?zPO6NfWd1yEB/AQg/DXx2hoFl15cCrohRzYA0OBEldEy8OkqkB6vaFpQwlri?= =?us-ascii?Q?NC62Z8TVGd/hPLrF8bjERgI+/72A7/GsXn2s1MSCCPnb449NWmyXO+zaBj9U?= =?us-ascii?Q?/JFIaQ+REq3fF2I4w0L7pDlDTOXs7aIEh+GQahpVXkmd4KQMmZXhWmLHXmnz?= =?us-ascii?Q?0Zv1YZBuXah2K7y6SE5pWEGO0ftzZDn7A0i4yxr9JnYEizCMlhcs4+t3iIuf?= =?us-ascii?Q?S9KfrIqYgeT4wEHlMVBr2h99fnApN+8WPes8j/0UYZRESafjCyxpyn8I9KYB?= =?us-ascii?Q?UmdgwzyZS7WxEiMq8IxbTFyDxBeVGODRtbczmRpjPMfSJ0/CIp3/me0cFlZg?= =?us-ascii?Q?T3CZmJQ8UBF+vUvFSRib/cY60w6aH/dVyQgyPXL9nqX2ITHmruWkIIGOEnSC?= =?us-ascii?Q?4HZRq+DJ69p0nGVrPsuS946hCoW1dTP+4UtuAbN0NEtCqDEYUpxRNdHB69MO?= =?us-ascii?Q?dyqt9hBA/bvi0a7tZ//YG2zw/eIhRdeSnyHna4N58khVZgJIGJ2NwsSFCJVL?= =?us-ascii?Q?rfQrXzW4YmQb+azq6NCAgCDmv7YkTKX04vcgtk0htwOVJYqak03byD+zFxeE?= =?us-ascii?Q?iVe33oP9+xRICzFiOeDPZLyFW4/j?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0K2aNnBMCN3uQlb7t/CVOmsfSXE9jKINKRhEcK3X0x2t2DyWS7qlDBWST9ui?= =?us-ascii?Q?aC43DqywGMAPNd2pBqkNUqq05ImGxq/uZ0VVxXA4qJ5yFJnszSCbwBz7pYF5?= =?us-ascii?Q?8A2IUw8qT9IyEPJUPY56XbzYJwT6UtI0EEvSZVSeOJ+BZejo2BOoB1NVf2Uk?= =?us-ascii?Q?gcGJjpzBOtsTe/bmbNL17s92W5mFujmvRliR4hk3AwikizVsU1saEutjLgQC?= =?us-ascii?Q?7D4pKEXsPQmaMZV8C3wPIDyWuoJoamRR5DyE1CqbcjHAR/HhGh9wPe4Rzf7t?= =?us-ascii?Q?FcTPzS3DVncZ4//wPQWRX7VlVSRQHfN1hg2eVxCcxOeHLYw+KhDppJos15YS?= =?us-ascii?Q?u471JHrR4FhCJZL7A46RHDRsv0iuLEfpWSUk6jRCHrDNYmMJ630Sz+nPWYAY?= =?us-ascii?Q?cEBer6SdyvXxZoVI2R9wsezyjBRPq4t/8B9V91Nu3Mg20koWUejrLY1urrkG?= =?us-ascii?Q?SpRe3+Bp8Uk4rfCKiBuhNPyd0NlEd3aS9Q//f7fscTXpv0UCn6aUJXKYqj+y?= =?us-ascii?Q?Stps0HiN1v1jHEkPiTJx8GFgnJv8o2YSLERTcUCSlw1JT6xuUaxdCPSk0Yhv?= =?us-ascii?Q?jT6y+XzeKe0sI0kKHZc9ilCMo01SZDi4PenIRcHTDLJFGDU+fTr6IkU7RXqW?= =?us-ascii?Q?z2GtcATKNQPsTT+/bDisOYs8mnM63umLRxTkZBzrIcmmQ9C7u8XiPfF3Pg1p?= =?us-ascii?Q?cdbCuPP7nvTTk+KnAdhXnoLUZ7meTtIeGYjlY34E1BL67yjX8VfuwT9SrupZ?= =?us-ascii?Q?dz9axC8tRQxUzd+MrBzmNu8gcsMYXHxCouYfGm3OPYOVnPiWD9wWlBb+PJYR?= =?us-ascii?Q?05g0X/xhlteQuezGdpju6cxUW+Ae3Sl53HdnKz17XAZCtd9S0xoJqSE1B8pD?= =?us-ascii?Q?Xbok+w4ln6aOkiGYYiiQdVzy0TycyjZlL4MUJlrOWRe0sQod+V4Qu3/KPYUJ?= =?us-ascii?Q?dS8tk0GujeaE0SzNe+qDWK4Tqd/m23ELbNiriahR6vdC4BFhv7yaTxAvixMV?= =?us-ascii?Q?xK5f13W6yjcLoU2rGw9qiFSfhZQnxe0rqp7ThTrgf993m+viLBvOPdB4atOS?= =?us-ascii?Q?Qr+yiPY7SFqspzPaX0uicQbRKiVTzcBc626llB3DQ/2SSbyT5khe/GoduURA?= =?us-ascii?Q?cKxdVBttjRcM32Huvpffq8nHEJr0wPUNZLQ0wlfqOaFLguNuwWqFLnQsYDZL?= =?us-ascii?Q?QZUGYcxZm0eF+fceR09Ki9zp5VVNPE8YSFmz7V7zBHTCHaRAVa3OCdzgkYkE?= =?us-ascii?Q?MmOwjT+bcjkW9j95Bk0vzb9RX7iXVuauEROsJkdZwijSXqzfk7enXIjfQsVQ?= =?us-ascii?Q?cduJI1ecIfkZ2jDyRhvYHLpYDUIlCwEIHvPi6pnKW6pn6Gce+A8VCDlKu3dB?= =?us-ascii?Q?K0TIaynkaa/fS0DHptDc2kXE+dYbHfs46yhaEzo8CI8Vjb/Gx5d60hvYiM5C?= =?us-ascii?Q?RnDsVlDcnE1Hj2hzWK3pnukTtarspGFOWAYTPzUjTTeNQPT76Z16Vtnda8QM?= =?us-ascii?Q?y1h0AO4SYc74rAqV4E9zrYsHJepKlj3rPOCQUIeruH2GMuoEmaBelb9ebmMk?= =?us-ascii?Q?ENPHQ80gV9RLSzGrbmBS3P8lrOfi9bO5ii9GsrUDG1VCE7bQDuV3h1y9SvZi?= =?us-ascii?Q?UQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: eZIGBZa3x/3+nvJTC3jOx+na3R15jT+ZIk3umxfRv3m8Cw/uzqi5DwMIJN3VtYnhWxFJ52k1f1vMIn359T7/c1UhBtEBGGkl0c58TJA/5P38ab9MX879aJ1lNslXdqXv57BQZEpsraJipDuoPE9vcy1jnRTiRc8QYJgQWGtOP/J2vlVKm2jGfZBkUkxbGfS2cdOX7oCLHv8i6oiFQGopr1ccAz2fWru1Oo8NwrQ5/QsGh+HoB8uZ0DjTnGDVZ2ry5wIShPZiTMpiwJLO5E/P89kdLVU1Anh8otF8ebf/opJgkxBQlWfUn5vara6CV3dyejyUedyquo45Dt/o1py5t4LtpvZCTL3uAkZXKyh0lsYrydI7ZxI/lQNpcKkE6taoM/q5HLZlnF+2hYDzIq23zM5LawA2EPFq9AXsZ+oIbXyL0IjEivDq5K8liSvrdEPYlJinBHmcjVSoyupycSaDL9sdo5wK1h1Rj9iU+Qhho5G+/OKgL3qJuSvoGJo+VdClVfKye+ivBv7zqLE6CZ5pgCdM1HZFyuNpC+oHcf8xF/NZKYHJSA788rTWiyr0PdXrjVY/vUMKhODjAztHAkGgcDXSzlRDIu9fH8jU1vwHhf8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a29cc9b-1a42-46b3-f68e-08dd2c2dced6 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jan 2025 19:35:41.5576 (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: 8suGqSOFTXSelFwC2Lne0MUDtQPtK2lqcCQ2dVs8GqfQhv+Pfj7BN9wn4WvVZoHcyBNlPHiJGpVgKZdcQg2CDZzcYSnoCIkQ2Ilr6y678pM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5163 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-02_03,2025-01-02_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 adultscore=0 spamscore=0 mlxlogscore=629 suspectscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501030173 X-Proofpoint-GUID: iPDIiPyCqnzklof7ckmTwA4k4WaMgGv3 X-Proofpoint-ORIG-GUID: iPDIiPyCqnzklof7ckmTwA4k4WaMgGv3 We use a number of asserts, enabled only when CONFIG_DEBUG_VM is set, during VMA merge operations to ensure state is as expected. However, when syzkaller or the like encounters these asserts, often the information provided by the report is insufficient to narrow down what the problem is. We noticed this recently in [0], where a non-repro issue resisted debugging due to simply not having sufficient information to go on. This series improves the situation by providing VM_WARN_ON_VMG() which acts like VM_WARN_ON() (i.e. only actually being invoked if CONFIG_DEBUG_VM is set), while dumping significant information about the VMA merge state, the mm_struct describing the virtual address space, all associated VMAs and, if CONFIG_DEBUG_VM_MAPLE_TREE is set, the associated maple tree. [0]:https://lore.kernel.org/all/6774c98f.050a0220.25abdd.0991.GAE@google.com/ Lorenzo Stoakes (2): mm/debug: introduce VM_WARN_ON_VMG() to dump VMA merge state mm/debug: prefer VM_WARN_ON_VMG() to report VMG debug warnings include/linux/mmdebug.h | 14 +++++++- mm/debug.c | 71 +++++++++++++++++++++++++++++++++++++++++ mm/vma.c | 33 +++++++++---------- 3 files changed, 101 insertions(+), 17 deletions(-) -- 2.47.1