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)