From patchwork Fri Feb 21 12:05:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Stoakes X-Patchwork-Id: 13985325 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 92A58C021B3 for ; Fri, 21 Feb 2025 12:06:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 089D96B008A; Fri, 21 Feb 2025 07:06:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 01313280002; Fri, 21 Feb 2025 07:06:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D32FA6B0092; Fri, 21 Feb 2025 07:06:11 -0500 (EST) 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 828A26B008A for ; Fri, 21 Feb 2025 07:06:11 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 8481F506E9 for ; Fri, 21 Feb 2025 12:05:42 +0000 (UTC) X-FDA: 83143822524.26.9D38F97 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf15.hostedemail.com (Postfix) with ESMTP id ED0C5A000D for ; Fri, 21 Feb 2025 12:05:38 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=keYiBV3Y; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qQ+XZy98; spf=pass (imf15.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"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740139539; 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=Rv/o8vZpmJ2n7S8Fax3oAANq31qtXOkAgKLHi0T5JBE=; b=g8d+f8tdiu53P+ZfUF9SEsK+Cdn0l3fZeBdl86MOz9585W6ZdUo3kiqay1M5m8YXnhGuPW KD7LKe/RZ/t6P7mYhH6ym+hDn4tqAakkaEa/z6Y4dzlWD9inK6qhPMGwxsOX5N5zRoOaW1 vUjGSqzvdPwBPJPL2yB7Wh2r+TgeavU= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=keYiBV3Y; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=qQ+XZy98; spf=pass (imf15.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"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1740139539; a=rsa-sha256; cv=pass; b=QqZEUw2dEPU10VdimYwZGGtymR/QQ2MUWnhCSx5n/CM2DJ6FfnJnF4JUUb0GKYSZFXwYq4 0Ev4hInwIrM97nDbBFuA2b3rIvGz4U4RMklV8TzfKsij14XldQR3+LUdC+tILDLrlerB5L fRO1ikXHQNzZjvqkdLehE4lpkNm1+gI= 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 51L8feVc016634; Fri, 21 Feb 2025 12:05:33 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=Rv/o8vZpmJ2n7S8Fax3oAANq31qtXOkAgKLHi0T5JBE=; b= keYiBV3YRBmzblg4T75TPJ+yQ2nN+pzkBJFbFMN7CoA+EPvJbfZW6zW4IMPYwI7j 2qBLXby1WHvQCEVLqaWkNUv2f035LIGzlRrqz5HEpG9Vmer/nR0k61UI4tQhe807 F0SxOFnBkqsTZp/5eUQOfv2JSUSju+CiSbOtuXm4Q1motIZqTYHSFcfr6QdxSfQt 4LfIg0/2G99eAaciLcS218BROYXbf3Vx/YsZ7CLvb/z4vckWl8H6YasJVdQeowU4 DQ5AeHNL51X9RNtHVceF+6NGn5zSkbSsv3K5oPXHq44DY7WcodnIQ+G9JPdgvwU0 9AJ/n849TIGZfhuQx/2uPA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44w00np3yv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 21 Feb 2025 12:05:32 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 51LC32gt002136; Fri, 21 Feb 2025 12:05:31 GMT Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2048.outbound.protection.outlook.com [104.47.74.48]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 44w0tpsew7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 21 Feb 2025 12:05:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qsRjiNP+dDB0RhJWXvSb7l4jtlqtJLI1p6Wu20vEiwenMMJkfAiifiDePWYbg7OOv4yXWWdu+TdWcNmWwpwLopZ7Ua2kWUVlehrXsrbLlanVo/5i9lmtPQk1O7L1WDqkkQ35AdOph3MfIhxn6t7ZaE6oXWHQ/nxpl5AgtSkVJu0LGvOCrsz9vQp3WfHCVKsB1OEo4xW8dsWwLbtyg2Xb8tsjsxfJsgeaGXIEBuhhqxKbUDwfX0jCMO7ZykNCZfM9slv30lBzPRqILtNl1urU0vb4f4KkFW+QLuvz1u6lKOKmVx1+dftvdcHmp+kVSfd6bVkdvYJvBrzWFqvqgTo61A== 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=Rv/o8vZpmJ2n7S8Fax3oAANq31qtXOkAgKLHi0T5JBE=; b=C/BwkXemAssY+H7virHZTMdn+HS66m6ruW0WkMKO8gVqmTdXz31tYVlTcslc9RHOVWusj+dpPSfc+L1JoTvasAuS1sgpMTNa9zslI51zNwdKG6OSv7o8eYrqjhP7GH4oXr2eCeUQrF/5R8r8jTfWISgfDNO2pARLKvk3JzFKKK3St7RaA2YEPBKKVpEXA775De67bAhLKw65AJDpa4hCQYVzDWlM6OO6JVBolBZL3Lygs39h+XV5Emh6USBbeFcWRIYepMHJoB+OEIS5CCEiL+rPkguAyMpnk3sTRaT1Na2htGwvcHSTjzXfuYpDpDHLxA6B841OACirNwPnaZSWEQ== 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=Rv/o8vZpmJ2n7S8Fax3oAANq31qtXOkAgKLHi0T5JBE=; b=qQ+XZy9893E1zFj3y8hSE21SWJW4tancF2IJLXKt3exK28+Ov773ohlIdI4Ja+0FCK4k/oWhotIi5jZtXxKQC1xI3prDyh4+7W89iB3bRX2IepqVtOfQC1RnprnFxaJz5Ij367jeQBvfusOu9DphI1H3UMFDdh0eFH9fbgf86yM= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by LV8PR10MB7822.namprd10.prod.outlook.com (2603:10b6:408:1e8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.16; Fri, 21 Feb 2025 12:05:29 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%5]) with mapi id 15.20.8466.015; Fri, 21 Feb 2025 12:05:29 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: Jonathan Corbet , Shuah Khan , David Hildenbrand , Suren Baghdasaryan , Kalesh Singh , "Liam R . Howlett" , Matthew Wilcox , Vlastimil Babka , "Paul E . McKenney" , Jann Horn , Juan Yescas , linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-api@vger.kernel.org Subject: [PATCH 1/2] fs/proc/task_mmu: add guard region bit to pagemap Date: Fri, 21 Feb 2025 12:05:22 +0000 Message-ID: <521d99c08b975fb06a1e7201e971cc24d68196d1.1740139449.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: X-ClientProxiedBy: LO2P265CA0427.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a0::31) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|LV8PR10MB7822:EE_ X-MS-Office365-Filtering-Correlation-Id: 234fd4f1-03d7-435e-04a2-08dd52700900 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: cI6iqxUAJ+eBoX9MqzLqosETvUEmY9jOdAetYxZ9kvGwo0GZwdIp9e6/RdGa5p9wu+BHd+ImnpnRLc/VkM+8315pSuuSOoXG61sCCukqdTwV+8cpyxw7KooMLa+R8Ai5mD60PC0unUvn6IOz590SOZ3BNY06X7RbbMy/dUEOz0zqve6SBdBElBgFG6qIsiCnrZBINSgvH/+qg9ZZ9oHzXzkHfy93Y2AsGtnC/0SGRHDnpP1NjMvrxGk7yq2ThYL1c1VVXwkLyzdJ+U8RrId5Qh/GSgE+wg19ccoKKtqZvNitqj39NcD9xblpN0CAu6A+JsUCdtPfS/8duXY38fken2RablpybmbkYInjDMisfkgsDyWkI1KuLHQ6f8pSGLtnIGmHbbcKCNbh/i+WJNdBuB1xjAgavbicFDvOMPHZ4Av1d+WhLiu2o/kF+TjHUEs2cp/1bYg8d4lU786FeyyXX4s4Zx33xif8E7xrcG7uFgvhtbbiv+w2pCck0ERgxNLPhyMjqRJJzUEW6qPh7062JX3w68sR0ZY76sbGa8y2x0aG6u8c1gauSXRe4hzMbZiPcfbs2axZgMOYi5K7+JUcaqNmbmTk+x9MznMpWcYfktndVmCyXUclPgNHDzZMM2ndaUeKD1V+s2+NvQHIt7MojPeMOKXGJbLtElGGDgImPS5hi8SFFhtGm3TKN6KBlQX7HVoPtr8xAHTrS6QmanvPp8EgtXydO78dbcAypxZ6V1mQjwPTu+fiu5AWAChqEjk03EqTGSq45ouRLRiuKVlBs96s83/1+QWLFyBAb6uGKQbEDYV9AXOzp8p/2zTdRfCN1Z9Dv2JdRlvPWpQZWs7rwN51SXIctAQg7neg/uNTdZ0OGaBwsrRCqTMOBTQNcXAQdi9NqaPr2oUDHkJJQVSPnt8ezLPGgjsKHB1Syea6HR6uMoobL1PI9L8O1ppKiVt7gipsRmhFUwf75kzauJwhsjbvsr9jo+Zx5ROZtNrpeRd3bzPWfFdPgIdzXB1e/cp3sb7ckYgGcWVQUsej1ehwlXLplmAuyZv2TVFtPQw0Y8RxMGE3aG2HSOK06tF41lzQzS1owA2CfZ3KiVsc/GYJ2k4fAbszlOn3RxGJSMUC12O7+i3WgXKE/XfFKoLQVIa3UyNpu4WnQZa7zkNcK6hCLnrlBj19Y6j4/wQwnKiauQz2apXApEdkmBKppu/jmTZ9cQ0DGHxiYALxUg/fmdw3nN4ZT77zpFR1edShc+doVC8suQHBGv05wnid/yD8kbZI4Pf5/gcDZHxvE+VCf7J9CHSw+O36RH+ZlL5ifOT8xD8DMRY+iKX2TGJGRouuQovBy4Zt99rgFynZ2q6PP6nyjS2dJhjW7Nd9OVNcP4CfeORrbs4P0toIId2z0U+kcnie 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)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BNIsw91DQZXrIwcx14gNIt+/UVq4P6LdAPh9wHuwJeOkjlJAWRDovyDozLqqmtpwXR7MbhA5/1KLcqjP5VR3UeT5DavxmS9h2Th9jFhMozRAH9q4bApHMtKbCQU1Q8L6JTQbe/aDZkT6llkPBkgBG/9gVDqdbayXK2fk4kdJcilzmM8/tBIXJl6Z416985EWKh4o3CH8188/E0mAsraDNdeMVGaVMWtrMGsqifCMlxHrwa0GbG1hvAwCvUPR+wvgpOUBb8o3ilZh6ZcvsRAtvdMUvDsPdScESisVDw7S/KIgwk7pS0PA5JH71sqkLd1rMiRbT83ZsN57IRpTu85pqWe9oPb+uGnqv/89+Os3QUe9iBJ/Uz3sAUU8IzbzkoZ5bNMQ8FYP9yvk2yYgp0klGLlqMR96bseJHESuIrmR0l1TDXttkp9M6qPjQA+g5gOjx9hr4RUoJ22xDsaMFGGth7SauOigffgwTfQ2hzZvIv/izbkhM0OhaTVSztY2XTPiimNuMBI62qd57aXt5OobQ1sdbw3iAme/V7Or/QAR9Eb3f19URPSuGKTRXQd7bK0zAet9bugnpyQ7irs+o+970AFMMtsjsYrpSBE9yuINBn6m8Dp3D2sTjJJDyLJNu5DapU7jj2kHIsfhzO6BF0k+fu+nlI/tFSNvzSvSuR6BV2XK6zlFl9hKPJfcC1zdr0k20KxLu/5ITumvpOwep+ZcZYgmPgWrKXORv1cuXWESipOi292VO7scDO5Ks6Y0TfA7pxVDvgItl7fQXdxpcjECIHfsh0WxxEPwRIp7g5B80u/n+rdIxWw8bdRQMeo5pu4KGr4EEJEKj3wND+VCvIv8OlLXbIMtjp3UnjZNt9IDBmuWHWfHuxoM0ZdPqpUwpBq3jxv38PAIe17dUpKJB0Tqt5sN831bkAldp2Cd5AGU1Do9hKZlZsA4ENIIK9HwzaR+z9Ru+2TXKrfG0wF3E3icbOWPGaOfzoLE5YhKe+GqK1dBrA1uE2TP2mB+vi2ejEdQvlF+as2EQ+ZJqm30GPEPlNUN+F7shQYkXTGcRztGEA2fxz0cSwLuWT26A54icbtj4Z8cKRZvuyi6afUC/pCmt/7UZWa0CMDZTyIjDOKEKHT2+ZkB1wWFAgDJDJeYubv1MDYtQJlS5quhpmGYSAc/TnRcNof8R2LjaHufe2DsU4Kbi0XiZzQwM+8etTQxu9YOJY8+IawC2wTfQMeKOYpdGgQk77+tpOo/YnOQfK3plkV1d6wXQROgQQOXbDrke7g7vetkUupITBzpDsa3hpbdsq55nHTwIX/27fluJDkWyZs0MrQp3nlWszmt+ry7q3EuX1cqNx4IKnpnmO1vN38/hLzcVK8RMyMUej1kBCvBp+rQ9bLZJGa9Z+Rcod6IOjeSkdE5VPNB3d7X0vmuWwraEHt2PJ6e7ABgBASZBfcBFrdLSLwJRCvax5XSY2FjRPK7aABhtjJmbMVjXRjIOp7S0kMBKFyCEE1mlgkr4rdGMbvB+pHXl9KrHiUfUWlofS4GKA2s6gCc2HirH2W6/U57o6bWz4VJIwC/hL/DOdKWVuigbbUW8AIcAjJBW+fTXlufshQKLFJ4FHInWMZJtBtL5w== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: sLgK/2RlR9YQjcs0jCNAZIlZ15e5XdngPAHmErE5z18q7xbTr9hlZ7TCfPyew96fhft1Juyl9DrWKcyXaKeBFMr8skSbvn0fpfrzx5oVKihG6EzzIIw+TnFaYOHdw47UHzkwPBnicF/TPDQxtV8Kgmvh9M/qV2EmQSSgVOg0KMQSkfLkA7ZdNgZLCiLcUU9UWTpRO+qSeWFHgFOswtV61OuFDHczVkTtKuTuKFDXs2W5dZBWUk1tdwFeTG3RnAXnoCJnaBUACRdVFFop1OUXjxOMxYfSPDD2JYMPMSfo1aQ8lbKHacwoPHC/vZbrJMSEE8HDJypAlEClxQvsEU1LkDfMwBsxRnH3xL9tw5BwHJdzPB7CVYC1EM2cfX1aLJLeDayfY7VxgWKhCRp1b+zIpzzZsWh4CMC7V+OoTd63M7mG2mlNiRM6xH2mQcL6vxXSEX2xaSqzS7b/ZTSvqb1Vd1fMVrIaT+A6/DPfsosH3lbyGm2Stcs+uP3AA35u/N/V3N2TVwx2curC6AmhxBszdmQa9R75ekJpzavJGXSZzzBvyRCR6u7koOx/WpcdH4dW0x+OyjRc1ev9ZyOfNARqyB2DqW0C7TP37DjYSHeMyQo= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 234fd4f1-03d7-435e-04a2-08dd52700900 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 12:05:29.8071 (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: u3cmYmb5muHDDLY+PF+HZMn6iHRowDxdT4egU2rI6VjsgZf4s8gmhbTdYJL9KK0B9f9i5xFm+VauWPezQoPNjGyRIb+hKaBQ5ITzvYilfhM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7822 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-02-21_03,2025-02-20_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 phishscore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2502210088 X-Proofpoint-ORIG-GUID: Jtso52RGi36gXqPlfN0qjSh8-dmiQ0p4 X-Proofpoint-GUID: Jtso52RGi36gXqPlfN0qjSh8-dmiQ0p4 X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: ED0C5A000D X-Stat-Signature: zj6hn1htfmbz68kwgpgimbg4h1gafssf X-HE-Tag: 1740139538-755439 X-HE-Meta: U2FsdGVkX18SUYkbeo+KOpQFfHLXfbZThGDovjGsCVySH+nERivGA8QfogSf6r4rIlrgC+HbNtgSf+iyi0O7YgpDFUBQ6/660N4h8s8pLDea/yw3FoCHjtvvSZwG7r/zAVl6cUwFwfm7zE14MX1FiqsBvkquGiuteyzubPaSk3o6rA3XTyM2+LXyaL5tyAxX347z23lqJV6IPoAQw9+rpbbeVEMd+v/BNaGes70FRLhb5YQeRETaHVxDmjAULsGJVH4bU2Rn4rvowhf6WkRKpz0KRad7DEryC8q19i/uBZbh/IgnUO5YuIVbJY69Z3Uz1wq1BbcAxLhIEoQPVFGCTtqTD8j+fFPnrDzyVDwmPcPQb6GesXWuwqR6/V/ACdxSIFOS0x3pC+OtGqiSAtNwI2ZyGq99I3ZOatDxOi7eXdLyqOCmiqnlwLAfUFxpitip2BQh/eDcWP5788EWvzX/YSRE22bMqLKwxqEbZwPr6Gdb9QV/HuzlfmaxekAqLqSzDwwFIHuBv7aNAiLInBC7youxnLYrZFwNmpAjdbl6dWjSh9V8cddQaR2goexU/Ucn6D1M6SkqxHpl5Pn7OQeVCTlvS6Uv0Fxf2JgYRwavAIvh31VcSipcNDBjvfkASIe/Ayt8MyflUMnwYXWn1cvVUV+dtZdLCAcWHWjIqvfYYqUl7BhhBze44lTb3ms70yq/HiPV8sacjg4VOPb2TlvpFkUuHDWz6LhJlJMZLPFgUb4OyTXw32GJNHKnJVh8KDAYFsTdzqaVtfswa2gPR24AA2RIL0AfZ4V8pqzqQ6IdF7a1Hqi8L8gNnmoqV4hpDLt0W07bs59akHF6EhEU3KPSu8SHTw0Y+Ex+isPLlL/+rGqsTy2B+VfdtfgjZu6BaAJCiPIunFHHAi6zUwo/WWcu9wwpMTyT773qSwBzXHBHDypNzSD2rubmeykO6dit4E/qMGgzMfwPMJWSNC1r0Sm SIHAzRH6 kUnPEVKAaeffsaRvL4ByjPY7JVO3KyCLkixnd3zKahefyyif+A1PnzPl3QtRd5L4z/pEf7so+OqWLmky2GSgpyWm6jX2cIDgGYcHuR7NPVgkW1Wey5OZ4pBSUWTXf4CYGQRHMTBqMuZ4a4VcAZCQigUQTr1FnrjyYmhUZGDpRFiAfCC+cPW+5yW1RBEDEUeZdPwzBi88Tms3eU858Pc2dEDH4L34SDjkX/7HrA8hrsi6f2LVbouUgyRDbpsB0ruZhbFLPzjbaJ4IOKg2wDXDt3bI1QfMQFj6F61pT90/24bnueeYxp/jLGu7jDM1UbqKchdHiHSx3dZ8+agRsKIAok0mt6QNC4mqW3F/v4Mil82GBKUivQSqEFRmSNukFvtDVn2YIR5t+b5+MnlWHyTAfk118i/s+V5YFWszFJqynsl3r01TxSCIKaLl2plqcYXm5Rzbyb0//VOhoqZqDzWRGIfKaCyr2AFU+0R5msNmyvF/W5C5MPQj5pW1p8QuTtWgwXYKCKn/5rpJ1BrC9tBFt0LRoY/joId7rhGQ1CsWPD0ApvBCnqwvipS5BuaSK+qtzxaDD8KHBTO2tYeCp4FvIunWqTr7NGvZK4daZZL1V6BE5Cyw= 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: Currently there is no means by which users can determine whether a given page in memory is in fact a guard region, that is having had the MADV_GUARD_INSTALL madvise() flag applied to it. This is intentional, as to provide this information in VMA metadata would contradict the intent of the feature (providing a means to change fault behaviour at a page table level rather than a VMA level), and would require VMA metadata operations to scan page tables, which is unacceptable. In many cases, users have no need to reflect and determine what regions have been designated guard regions, as it is the user who has established them in the first place. But in some instances, such as monitoring software, or software that relies upon being able to ascertain the nature of mappings within a remote process for instance, it becomes useful to be able to determine which pages have the guard region marker applied. This patch makes use of an unused pagemap bit (58) to provide this information. This patch updates the documentation at the same time as making the change such that the implementation of the feature and the documentation of it are tied together. Signed-off-by: Lorenzo Stoakes --- Documentation/admin-guide/mm/pagemap.rst | 3 ++- fs/proc/task_mmu.c | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Documentation/admin-guide/mm/pagemap.rst b/Documentation/admin-guide/mm/pagemap.rst index caba0f52dd36..a297e824f990 100644 --- a/Documentation/admin-guide/mm/pagemap.rst +++ b/Documentation/admin-guide/mm/pagemap.rst @@ -21,7 +21,8 @@ There are four components to pagemap: * Bit 56 page exclusively mapped (since 4.2) * Bit 57 pte is uffd-wp write-protected (since 5.13) (see Documentation/admin-guide/mm/userfaultfd.rst) - * Bits 58-60 zero + * Bit 58 pte is a guard region (since 6.15) (see madvise (2) man page) + * Bits 59-60 zero * Bit 61 page is file-page or shared-anon (since 3.5) * Bit 62 page swapped * Bit 63 page present diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index f02cd362309a..c17615e21a5d 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -1632,6 +1632,7 @@ struct pagemapread { #define PM_SOFT_DIRTY BIT_ULL(55) #define PM_MMAP_EXCLUSIVE BIT_ULL(56) #define PM_UFFD_WP BIT_ULL(57) +#define PM_GUARD_REGION BIT_ULL(58) #define PM_FILE BIT_ULL(61) #define PM_SWAP BIT_ULL(62) #define PM_PRESENT BIT_ULL(63) @@ -1732,6 +1733,8 @@ static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm, page = pfn_swap_entry_to_page(entry); if (pte_marker_entry_uffd_wp(entry)) flags |= PM_UFFD_WP; + if (is_guard_swp_entry(entry)) + flags |= PM_GUARD_REGION; } if (page) { @@ -1931,7 +1934,8 @@ static const struct mm_walk_ops pagemap_ops = { * Bit 55 pte is soft-dirty (see Documentation/admin-guide/mm/soft-dirty.rst) * Bit 56 page exclusively mapped * Bit 57 pte is uffd-wp write-protected - * Bits 58-60 zero + * Bit 58 pte is a guard region + * Bits 59-60 zero * Bit 61 page is file-page or shared-anon * Bit 62 page swapped * Bit 63 page present From patchwork Fri Feb 21 12:05:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Stoakes X-Patchwork-Id: 13985323 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 39035C021B5 for ; Fri, 21 Feb 2025 12:05:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 656566B0083; Fri, 21 Feb 2025 07:05:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5DE4E6B0088; Fri, 21 Feb 2025 07:05:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E3666B0089; Fri, 21 Feb 2025 07:05:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 18D256B0083 for ; Fri, 21 Feb 2025 07:05:51 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id A20DEA29D1 for ; Fri, 21 Feb 2025 12:05:45 +0000 (UTC) X-FDA: 83143822650.23.1B2C826 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf04.hostedemail.com (Postfix) with ESMTP id EA65B40012 for ; Fri, 21 Feb 2025 12:05:41 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=MBvwvzqy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=n2OIVZNG; spf=pass (imf04.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"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740139542; 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=vun78FUdkDyEjVURPXOKQ87Bg45hJy5GFD/l1ztXF/k=; b=PmLzIR2K4dlt4ZADWMl9tU77klfwxBNUrFQ+1NPfiu5VBWXzi8ipmt1hVECUUyWq7vtUpx 5F9l4QpURVn61majVwka3lkgJXWBzEHTZmYcLX68qpRszCvCd7oEEwVDSROM5WavQskFOk JXQuJcrZvYQyOeZuRBwDoAb0zqoLORg= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=MBvwvzqy; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=n2OIVZNG; spf=pass (imf04.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"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1740139542; a=rsa-sha256; cv=pass; b=kCVf59H85p3kYXuDOEAS4OE5x5dpHCYXYr5eKNhv3kBhC7SJRx5fPnG13XWO+Bq+uYlcew 2qVb40brZ8lG/8X6z6TzMMsDIzGjse3+d87VLnQTiBuNLys3Fa7UWuteuTw6aibsAXgnSp HTvGAxPi9ULZ0tbQRbMsEGRa3pzei/Q= Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51L8faC5001450; Fri, 21 Feb 2025 12:05:36 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=vun78FUdkDyEjVURPXOKQ87Bg45hJy5GFD/l1ztXF/k=; b= MBvwvzqyIY/HKt48Mf3OVBQ59EyNlc4J8+93a85apOQ+J36OStJVjo0sDxlpmLPf OCXZI7/qwaC9UBoGTWwkegjIgEUvashRwRryF1iA6vSeqWROA7Ra25Yey03OMGff SIP+rNIUHqpvPk5z2KroAnglluSizaBD4GnANpW4hDdUkR5bUV8CWSomy/fMablv q3+z3CMNHu8PKWBu9zN+AK1YFb2odgpkQtBugsppFdMDJ02PnacDI2FrFZQG9s1Z Y1w5aWeSujnzl47qozWV2LRG2ru4FFRXBbc7a+K2fuiA9wTdFFNvQJLkFPx9rKcz 0hu9Z9BWMJrchD6dBKYMEw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44w02yp54k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 21 Feb 2025 12:05:35 +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 51LC2iK6025222; Fri, 21 Feb 2025 12:05:35 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2174.outbound.protection.outlook.com [104.47.73.174]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 44w090g52r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 21 Feb 2025 12:05:35 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AOWT26zXEMtnSTW5NL+m8oVf2xr83Ax26V3m7VeTxR24+9JPPUeOSDFYkWyAKKr7RfA8hwU4DS03+D4MmzfHUAeos5tQRY+djuI/9K0uJEVkxezyX3edKtPXcYc4AAdIxsA19yeQv8WwuCD2ZA1Z6USsLCsZp00eVDHEhDiALryZlRD1Kld8WyygtC48BqPAb6AleWJCYKXN5AH8mX3CRAdaLCvaXf6g5m3RRLz/f+B1knM5g0hT84QyM4Gz1AGDJb7xH+aSz35urbDg4f/4yU3WYuv5pJHCwB9+z39qzyyd+9Z6CBZWvb1MefLnfIZ2Zkt4iITW/j0usyyguPHfxw== 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=vun78FUdkDyEjVURPXOKQ87Bg45hJy5GFD/l1ztXF/k=; b=A1LX7s+pQc2Mt3Gzfjy8jnL5zW93lotafRvbNZEKZ/53JaSKS7Yuwi+yjYF5XUDgQOGgvI5YkmBAf5B+X65Of2AHt1l3QFLVTKb9GQ9l7sGuk/zR2FgvPjcuFPE0gpznQCbYcL6LhS6EuNYplsMX6TLdYGWITlBdk8BUSl7JNZ6+vT8nlwyzwCEYigNslBrCo9hGyB8oU8NI0hkU9kBKRZV0+Q89hOpIhHD0C46o+sagiLVFk+/oW5MgZNBOLQvJXwWYAJaczLLHmoI8ez07bPR9qCbI2Hihs2wggNwFPj5yQUwFithMnpHi+3JJijjuR6/8s46yqy9x4a9X0hOCWg== 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=vun78FUdkDyEjVURPXOKQ87Bg45hJy5GFD/l1ztXF/k=; b=n2OIVZNG7Quc9V3gXRcKFqAQUmk2wqps7EdBlnodfmzZr0u9JLoDyAFkGnEhRF6XX7EnXtufi2hMw/zBxJ8AX4uOlWi6bb0w3J5mnh8+5tcVjf4fRHCz6IRa/XIrYjuGNb9SOR8Ryvt9pRuY2tRmlIxe/J5oubGlhgvSBTkS7R4= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by LV8PR10MB7822.namprd10.prod.outlook.com (2603:10b6:408:1e8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.16; Fri, 21 Feb 2025 12:05:32 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%5]) with mapi id 15.20.8466.015; Fri, 21 Feb 2025 12:05:32 +0000 From: Lorenzo Stoakes To: Andrew Morton Cc: Jonathan Corbet , Shuah Khan , David Hildenbrand , Suren Baghdasaryan , Kalesh Singh , "Liam R . Howlett" , Matthew Wilcox , Vlastimil Babka , "Paul E . McKenney" , Jann Horn , Juan Yescas , linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-api@vger.kernel.org Subject: [PATCH 2/2] tools/selftests: add guard region test for /proc/$pid/pagemap Date: Fri, 21 Feb 2025 12:05:23 +0000 Message-ID: <164feb0a43ae72650e6b20c3910213f469566311.1740139449.git.lorenzo.stoakes@oracle.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: References: X-ClientProxiedBy: LNXP123CA0011.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:d2::23) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|LV8PR10MB7822:EE_ X-MS-Office365-Filtering-Correlation-Id: 19f0b30e-b1b7-41a7-7c84-08dd52700ac3 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: p7TQRhdp3s19CWvxe6nRA55V/N+iF1zF/XWRBT1IIy/Pf7mpYX+sVD7XJDTyU/gbwhoZzmOZ89XYmKN7v0eKQ0w6dA5EqoH7FptFeI0LE2Gb1aH9hbUJwVTNua8t1m4tV08ir2Hp45W4c1stRetX08FwQt/TUe2yjs2cDhFqQCq4z3mZAtR8q+AuNh3Nr/Mv/srEaXArA2D3shqSdaskI4OnySFWFz2ul7Grz4Id50uxOVh2fCoZaQUexVP7E8IRESUh3TGYUpNtP7jDcuan8X0UU0WH0nBY5xvrDKiDk3F06VHI+5PsMyTYNGCErL1EO1vAJ8fQHukBVDJK1VI3XR0DrsmrU3z2K+dRrlx0bwDBaNbTyKlvslL+M7kgTUAOamciYMCMCwN/U5MtgxjcHCqBe/sYW0AK9EryfGi2yfhZX9RvmRopCZblMcETq3oSGD+cmCZPjo3JurfXibX25hWnWQUESvoBWW094COoEJF1qPbvpM76D1MNKhSoLDO09AkQDtJ2dqP8LebsF/3AXEu6w1mBr1OftVcAiYwTRgqI+vxgkUuSMWEWpTTOAo/jtAn3ujYgYgCLqi3oL9vQxHRKQi/Ll8dAy1xq7qFJtrUFACfN7uTWh8vTILQHpR0MUvnbnhmY+Omxr2rodBGdBCoJncqIoXpgka5uU5C1QZe6nvNCmgoXJoyR/Drd6gkuPpfiAZ/hKX1faXylYXighPI6cSAk5GnZSxRMLLCkRdqp2s7djRuHy9t7BIB2SiDgFCZTBiWDbLavpHlwwOHJHkahaIkBhpIqNJJup0+1kf0ZlUdDuerxYy8SMLL61SsSz9l2eKaYqWO8aQI79GqVV7BAJamY3Hb6I2yvTUecBCk5OBEuONfZy11sw68YEennPx3LmG+SQJWM7O+BGImbaUG7z7VzzV4fyTc+JDe5nG31CC85y9LPF6VQIsdaD9KSfdXWK7JLOp6LVUalMJj1QBa63sYhMKZjBa6EGd5YAlhJiEPDC7FP6a8MLetNM+u2uZx46+sWXWwoMLnsl/OVX6oHPrYIiJU8w8N5Sm5j6r52xZFqUk7QUj8LIZl80kxGt1Q/fmHE7xrXuRy5lVRlJnwBdmIJ2jRAQ5xhb5kJJpV9NyrgB20IoMuVJBd1VLq3IocB/gaNpbVdUDGhnxk2orXics3kRtZ0jtm9UjFPjpqiMMgEbwS6OjJ+e/N+oAJ/2npn08lT6Ezv7CYCvuAzK89j0HMYzxI+1untua3bfmr/vTLX6/tyPEk7I5GBZ75svnQoRvHR5Fy7sfgxs0Wp7B9HjJ5MWHyOaT28xoBH9gLkCz/ukhMXFuY1EzdLQlsfViwXLCOl+JQ7mDwcmbErx4txhARYExOuNRyXbYyc9tfqItt+ame5kt8qqgYVjmWO 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)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: uG1K+u02CLYguao6RCuvHAEdc4v8Fcvc2jofaSLFBZnsV+NEPZtwnwV6qWAY6RUA0JvlLL/it0MUzAtXU/51TJgTq/eyH/xJUFWAqZUC5DxwwyecBtXOVZvKGpRJZru1y77RBkoAkLJlLU3f8xgn9BY3cUnbQyZ06zESyhwWfNem5KN7HCQCoLLKsQgsiIwpBzvCz0PhcnnLcEpU7MTkx/A8au1qHjfTf9wLXDsW1GCHtgeIA6IBcUyAML6pAoRVJ6LFjXOu5aX6vsRMjPveA3n/XzDqS6BgI8Qc8jPwIGG6zZ2s77MVhtWp3Fz97S++uYVQ6249iRebSn1nrxk+LS33xwaA6UH2PjZq4N5B+ODuTqKDoeg4fQLJp828D3wWjv8v8H2x3WVXfSC3oMRkPX0K+7Yjv36gOyysgMx+5pk0xlZc74hfy+6gp/mtsXITIfYQfYVhpXcvsYBqBvpJFYyc9LEw0Z1KBK8/Hv1ue0KfE8Uoph7IWosGqZjxzcrECHgfN7iE324mHi3Do4+mu0kMaBDMMpemOZukB2BX2JzfNPAzMig+R1PFgC4iNAyIf02pIm8WBtijkpMCUZQ8K/yfkb/VySaM0t63m6mqQrLc8Cqei7JJWTH4mnKAN/PUH67XHkS1GWtTk+BYQeXEhSLE3IuW0WXJo5JZm8cDo5R1eijCbzaxyPCoYscdLtlszq0ZkQg4kCU2YCmOuKa2pIxDQrCKYoUDqS3jcPs0s/hWT8j3QHVajgEHeRTy2YoMRLdeOtwepp/zc6CDt8SuiaRUmou8bDDvmoG5batnBJbt/6nSlBWxcLVhmdeW7bqV12DOEZfxv1Cvlp4AKGWINP8V+tTw+jBUTN0GKtkFvNvHmgcItrDEDYspAOQaEbAUtv/xrR3G3mn/pTySkFMOCdzhtcavlhDWPTQYGoGrYx0upzNRXyeewzMV+ZQyjlESGsj6U9cCCtWuAdi4dfXPd5zJsRQFx6SzXHp57xD3HU4RT56TgqUB4H0xTNTDB1EjpDUk12Sj3DPlt0uL0hxc+Fnk/Z+WGqhEAyZv3Di0bRF781Rh6MbAB/paFSnnZaOSIxn/BjZFcggN82NDXlVejIMDA6TSMMwiqFiMlifuT9raPPVsJ18QPWWyoorvd5v+N4hHeq5jIpr2bAt6YF6NbtZs70hqs7X2GBmIvmN8/JPALm5urtt/wrb+oI5zXnWUnafSGv1pW4YTL816zw5TZtUdUjYt5QzVhTZTh3sXUNnDqHwNgfRvRT0YFe3bniTn5jPx2Nb+Lj+7PEIq9/6GZhV7ACXcnlh7T6tdo2ucTYQZA0jXq9WcCiMv0riIS4bhxjII4H6yUJVYcFPPZqsT0FszXYu69q23prkrn+bN5I89NX+K5OeJkJtHhzE1nlq+WEWXQZZddVu1onM3U+Z9sRBXWBX6QetUqTZDLhHDXaiETtoNvHt79+rA8EA8JgW0ALte6CrwfO9pZcmVK7ewTHjP5pDHQzHoYMdAYzyxi382IK0jqXkpKbvnqr/aTzvb7uZYWO4nduK4ptxQMbXkTLXvaea3kx9uZYJTcdhuQR9xJ1/vSWa2F382LKJ5ppxl6j1n8jUvSZHoW5qoK7gd3Q== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: NJrUGqCSV748xRJOEXoaEYUnkAGZsv2wS8GcmsY24Us0P8A6wE6VW1aC2Z2kFawAc5yGwNJ+gPCtY9Wq7PTOi/qC28l9WmAy+zw5jkbgbGaAT/Esg05NidsWQ/x3GcY4q8n5Znubpokli/oVkcaSOIMql80zer0LmkBZ++TRidzye+qwuS8GrrgQeMOgRQNskemPM2pevSpXwdxbnA13W5D3/Zg1v+s7e9yM///5EMoo5lq1s5kCwb2r0vnojR9xfoQy8Nw7Oe6QLgK6kq9cz7CPW6lQCqdhFldImCo8eLXqxGkeAotRa1RJrFrY0LsC6ftU24c5yvIGnvNSPQWhS4s7Jc3FTHQ8NUTpp7xG7WfL7l2LVb49yK9pPxZJgu3f5V4xoZUODLzkA4NddqUc1jE+xLs/hsId5kQbLnEViZ34r88uK6C7C8bazW5nr3p7id/aijVKKshUdqVAaTBFXnGLdV/MvYZC0TXpZdQEJMPJlFR6AES/QqocWDTLwWrAngap5Apx+xL8Bxu8m0svZD58idwZtltSsAnvKh6ZQvtBB1jguVqCTnJ3pS3AB8XusCyCZ1aoK5DhOEjBJrMEguC3vi70RSUyzxlFVz9x6Lw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19f0b30e-b1b7-41a7-7c84-08dd52700ac3 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2025 12:05:32.8243 (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: no9NqkCfQGCH3EK17w1wdoC/TVFX3Otd5iEtQ2n2kLphs8Sl7p+3PhSg2HjYxLLDDIfr8RLfxzncKZtaKh2kOGs3SJBz7VWazTVBp/Hekj0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR10MB7822 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-02-21_03,2025-02-20_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=969 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502100000 definitions=main-2502210088 X-Proofpoint-ORIG-GUID: aM6NPh4AFMeQKNMzsel8WVfKo8Huki3O X-Proofpoint-GUID: aM6NPh4AFMeQKNMzsel8WVfKo8Huki3O X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: EA65B40012 X-Stat-Signature: bwhyhc3yiq8pe8zwb8g9ihu7ba46ixok X-HE-Tag: 1740139541-558146 X-HE-Meta: U2FsdGVkX18VqqZZcCjSbW/pXh8A3gDd/GiXLqFbNNeY8WQI5QMVamztcpPti03kxIrzW0Nt0iABrhqZszF6wtvV8pRuljUsJYKRr7oBAoJuSMaAoU7ME/P37nAXl2Yyux5vIM9B3Rm8OCvdX9Dy5mUVsr6DA4s7+a54tnC3+430TUbPEw37cGSX683joedhV2zxwfV4M0AdpJiZOgBrAvoGxX5Hd06kdFokNJrqHMZPvDmT7ebOjkcCLjLDWUAi8swHwrwlPwGWl7m9WFk6rJSs1NR7OPhuEDgzo38cQDnL++EpbGSOa3lSXgvs56VKCMMk2z7ClAY4zysU47XBWytDjn9XbINLmBJKEdIJb9+X6XeJWsz+WfuKZhLcKuBTE2VdzRDeS4B75LyuoiAqY8RQucLuiU4npSWZUUYX1O3E0BoQ0Jw75I7Qg3FNiggf1gRCCW9vPMYFqIeHBxeppCZ0+Idt8eg7awdPjf+ti6hylbx0m5X43UOEKwfrrzvhMK+uao9Msi+KbyrLJtZhmakDRP8K8j15UxOjmCu2Sdw1lPvGOXIGWfOdzycrEMZvo1V/2ilBaU5mksoKCXGpaKaJt8YDtMDwSW0wVhAQ38ZEHvwmBhUPrLnffL4xwcb9Ox4LVXSV82jDppBgfEfqe68+qwGuQoVVzWeMHlG2SjoUhCiB3fUIqWFjpX4lE9mC1jiiK6g96yCBDLXlfv2HZKledIB1yS2dWs7CULaW4GAMRxsaSwcH5FoKRYjwhqBj4AuYVm3lZ6UiPHT41WpTFCNL4FyVwlxO1Pf+V2CbBshGkcJ9j0/xIinlghLrpCE24IN/Tq1r7evqva7LVRSkiTUB3HFspdZt3+QUqr6451sIET5pdoEjFKTEqwPyZhcPB3i55DNLjji8cXhrXppE1CXsjyL4Rz6MSnVDwRI04m1B9F2Ft0KoooIbJfzV28d+XtMQoCcvUJ04zx6UBbl TLckJ/F4 PLbrC/MQq9jNsItBuAGTKi8tG2pdXlqjMunrUcfF8vWwjRKHME3Hwn8q/6WILgHGRNxmmtn4hWWBdD+OKiqH0N+BzraYEQ2DfA8XcZaBR88DjiD8SWMoLNwT0QKXkEFpJ1DtILYvSaHHvJLa4IpZWMCJ6oNbDrlcBOChE0hFa5A49f99k1V82jCgo5JkRWaTG1D17kNqMILUYRNFTCCmOYJ8wDM2j97tXp3velvky8n5IYwUrRRVwHbW/WlakAt9bQuytGWgf3//rQfKNmn7nFWdXf6QkS26ng1m9vdt3APVHFCagathrEZM5+mdTEwmgU/20eoFepH1lMpxHBkvcxe2LZd95LLART1NzdSNYtEKl8VqjbX/zp9BebfcAWsZcTkVi478W4i0yE4gV3tEJDwzIHs7JgFwGEyDS1QVtHXNuCLKMu30FXghfr7QOiO2g7ltP7W1TL43Fdn+/BYajKKWIJBtDdiei9dLptuNSBSPGRDn70njMe7JIPh5w78KqaMCnxdjQmdhZbkF+L8/YQ+6rhQV/MAigPBur0FB9OvPYFVaGnAG1yjuwlvOClHUT2BrFlSBx0se4rxeRUiIRuYs2L5ARyadJZxN8ZjrHXcSuIus= 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 test to the guard region self tests to assert that the /proc/$pid/pagemap information now made availabile to the user correctly identifies and reports guard regions. As a part of this change, update vm_util.h to add the new bit (note there is no header file in the kernel where this is exposed, the user is expected to provide their own mask) and utilise the helper functions there for pagemap functionality. Signed-off-by: Lorenzo Stoakes Signed-off-by: Lorenzo Stoakes Reviewed-by: Kalesh Singh --- tools/testing/selftests/mm/guard-regions.c | 47 ++++++++++++++++++++++ tools/testing/selftests/mm/vm_util.h | 1 + 2 files changed, 48 insertions(+) diff --git a/tools/testing/selftests/mm/guard-regions.c b/tools/testing/selftests/mm/guard-regions.c index ea9b5815e828..0c7183e8b661 100644 --- a/tools/testing/selftests/mm/guard-regions.c +++ b/tools/testing/selftests/mm/guard-regions.c @@ -19,6 +19,7 @@ #include #include #include +#include "vm_util.h" /* * Ignore the checkpatch warning, as per the C99 standard, section 7.14.1.1: @@ -2032,4 +2033,50 @@ TEST_F(guard_regions, anon_zeropage) ASSERT_EQ(munmap(ptr, 10 * page_size), 0); } +/* + * Assert that /proc/$pid/pagemap correctly identifies guard region ranges. + */ +TEST_F(guard_regions, pagemap) +{ + const unsigned long page_size = self->page_size; + int proc_fd; + char *ptr; + int i; + + proc_fd = open("/proc/self/pagemap", O_RDONLY); + ASSERT_NE(proc_fd, -1); + + ptr = mmap_(self, variant, NULL, 10 * page_size, + PROT_READ | PROT_WRITE, 0, 0); + ASSERT_NE(ptr, MAP_FAILED); + + /* Read from pagemap, and assert no guard regions are detected. */ + for (i = 0; i < 10; i++) { + char *ptr_p = &ptr[i * page_size]; + unsigned long entry = pagemap_get_entry(proc_fd, ptr_p); + unsigned long masked = entry & PM_GUARD_REGION_MASK; + + ASSERT_EQ(masked, 0); + } + + /* Install a guard region in every other page. */ + for (i = 0; i < 10; i += 2) { + char *ptr_p = &ptr[i * page_size]; + + ASSERT_EQ(madvise(ptr_p, page_size, MADV_GUARD_INSTALL), 0); + } + + /* Re-read from pagemap, and assert guard regions are detected. */ + for (i = 0; i < 10; i++) { + char *ptr_p = &ptr[i * page_size]; + unsigned long entry = pagemap_get_entry(proc_fd, ptr_p); + unsigned long masked = entry & PM_GUARD_REGION_MASK; + + ASSERT_EQ(masked, i % 2 == 0 ? PM_GUARD_REGION_MASK : 0); + } + + ASSERT_EQ(close(proc_fd), 0); + ASSERT_EQ(munmap(ptr, 10 * page_size), 0); +} + TEST_HARNESS_MAIN diff --git a/tools/testing/selftests/mm/vm_util.h b/tools/testing/selftests/mm/vm_util.h index b60ac68a9dc8..73a11443b7f6 100644 --- a/tools/testing/selftests/mm/vm_util.h +++ b/tools/testing/selftests/mm/vm_util.h @@ -10,6 +10,7 @@ #define PM_SOFT_DIRTY BIT_ULL(55) #define PM_MMAP_EXCLUSIVE BIT_ULL(56) #define PM_UFFD_WP BIT_ULL(57) +#define PM_GUARD_REGION_MASK BIT_ULL(58) #define PM_FILE BIT_ULL(61) #define PM_SWAP BIT_ULL(62) #define PM_PRESENT BIT_ULL(63)