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 14EDCC8303C for ; Tue, 8 Jul 2025 05:51:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AA7C46B039E; Tue, 8 Jul 2025 01:51:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A7FCF6B039F; Tue, 8 Jul 2025 01:51:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 947726B03A0; Tue, 8 Jul 2025 01:51:36 -0400 (EDT) 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 819E06B039E for ; Tue, 8 Jul 2025 01:51:36 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 29A4212855C for ; Tue, 8 Jul 2025 05:51:36 +0000 (UTC) X-FDA: 83640025392.23.B3B43D7 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2075.outbound.protection.outlook.com [40.107.93.75]) by imf19.hostedemail.com (Postfix) with ESMTP id 5DB1B1A0007 for ; Tue, 8 Jul 2025 05:51:33 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=1RzrZ3Vx; spf=pass (imf19.hostedemail.com: domain of shivankg@amd.com designates 40.107.93.75 as permitted sender) smtp.mailfrom=shivankg@amd.com; dmarc=pass (policy=quarantine) header.from=amd.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=1751953893; 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=+/JPYh80x+X9bhHUfuKae896s3E6rKdXto1wHmzXR1k=; b=VYLeRayPuG6TrMVbP7NXvth6q11IoLTeA+6ONH5K2ACMN0PNSBQz+Zl7sk22BcQw085JdO k7fXKjPdAnZCI5OZzqUS0Qn0wkP6FpTW8dfTSDaV9pZ3ZHwm0qkk3er/CU118l/iU0mpcy wCa6QT9s1DG2KfzoUq88oM3ISV4mROg= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=1RzrZ3Vx; spf=pass (imf19.hostedemail.com: domain of shivankg@amd.com designates 40.107.93.75 as permitted sender) smtp.mailfrom=shivankg@amd.com; dmarc=pass (policy=quarantine) header.from=amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1751953893; a=rsa-sha256; cv=pass; b=gp9B+7EiNDjgTr1SDTHC/rawzekPybrFuRF4CBL2EM1BHWDiQMiWqPzAg6bTJn69P+DW09 hYlSafg9KGhBzaoRErIcjefP0wy9eGj4zW12inc940pHhMXDosXP1iyQ757BI3jEeBeR4y Wsvvsr9O99j9VhtrKtCSscDoS3OXNAI= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=huliv3KQDRBqRWRoS5wFK/j/cSRL+ZWLoRNEisUkIFJLomzUS4X7xHyadTxipEZXsfWeR7/dV2oCEKlySW9k1d5X6mgmkeiRDYM2mV2BsgM6h/r8S+GqtcK4aa9VhuC+yiO5aL2/VNAl8EKTFn0WviG5a8PsNZphTVaAtMqSZFrr7cllWhp/REmQmiXmX76Y2XoON8MLRW5RjEcawEjTLBKqlQsxBYj4ZUTeEIU3kgwguetiZ1btQcEuOxwarRRUcsBqFMpzjoSQHnRIiVKykFzFB1vpn6VHcp9nG+3fJaL3VOpb0wE93l3A2DYsHfO9QrVdgXgqaygdeXM74Pw7ow== 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=+/JPYh80x+X9bhHUfuKae896s3E6rKdXto1wHmzXR1k=; b=Jwt1bknoifsJNKkgV6e9siSJyo9hDExsikI8nc7anQuqvxshPpHtooTuXgvn3bVJ24v+YjCFjQYefYC9O5xgJNAd1HMXgOEH4xfiebbTP7MisBfN51AYcywKiDduSlxhVjDrAw8skUiE6rKiHx4to4KhzHCaU7ggVfUJzlfXSYduOV8bvw2y6LzPnwKwMifFaCykoyhQ8+TcxB5bGrwhx8h0UM8P+2sn0zTLL29wm2PWLJf9O44IfxfhH6cCsE6qD5JpUj2kfVU24gDeFAUfkVT1NjYeiUE8PAhvv6bLl7j5fItlAFa3fmfNd0siCSz6FL9MWqJypPY1BtaxMjX/7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+/JPYh80x+X9bhHUfuKae896s3E6rKdXto1wHmzXR1k=; b=1RzrZ3Vx9SAi2T/Pbd5XKvfHVBflrI7jMlwc5KqlO/YiKFsIE0mnAZWuj7j5dXFyQRBEr/GNbHJEMX7AVbEp59oVgYXnxb4YloI7RqGFmr1K51KbPEInSFaWyAj2rlFMEhEOMBuxdXPhAGMB+ozEz0izZAC+9W2ZN98InZVtZbQ= Received: from SJ5PPFF6E64BC2C.namprd12.prod.outlook.com (2603:10b6:a0f:fc02::9aa) by MN2PR12MB4488.namprd12.prod.outlook.com (2603:10b6:208:24e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.23; Tue, 8 Jul 2025 05:51:30 +0000 Received: from SJ5PPFF6E64BC2C.namprd12.prod.outlook.com ([fe80::40bb:ae48:4c30:c3bf]) by SJ5PPFF6E64BC2C.namprd12.prod.outlook.com ([fe80::40bb:ae48:4c30:c3bf%8]) with mapi id 15.20.8722.031; Tue, 8 Jul 2025 05:51:30 +0000 Message-ID: <64a06760-e474-40ae-92b7-cd2341261d5e@amd.com> Date: Tue, 8 Jul 2025 11:21:24 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 3/4] proc: kpagecount: use snapshot_page() To: Luiz Capitulino , david@redhat.com, willy@infradead.org, akpm@linux-foundation.org Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, sj@kernel.org References: <15f86615b7e4291ad040a64d45e56fd2bb578943.1751914235.git.luizcap@redhat.com> Content-Language: en-US From: Shivank Garg In-Reply-To: <15f86615b7e4291ad040a64d45e56fd2bb578943.1751914235.git.luizcap@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PN3PR01CA0049.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:98::12) To SJ5PPFF6E64BC2C.namprd12.prod.outlook.com (2603:10b6:a0f:fc02::9aa) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PPFF6E64BC2C:EE_|MN2PR12MB4488:EE_ X-MS-Office365-Filtering-Correlation-Id: b41d53cf-e982-4343-13ed-08ddbde37cbd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?UzRHanF3Zmk0d2xJNzY1WkNEZHJtN0VDeXdGLytmYVMrQk1EVkZzNVp6dUNT?= =?utf-8?B?Wkl3NERNcHNnblI1a0FXNm1oMHNudklNeDl3NlVkOVpjWjRBL0tCOVpVeVBa?= =?utf-8?B?YXB0TWlSRmFQUlhEMmJnRWVDVXdIdGw2YXlnMUJDRUw1UXY3Q0NtZG1tcHRq?= =?utf-8?B?eGQwamFscjRrWHNkMTFHbTIyMnYyQlE1WGdrc1FLYWpZUU1PN1JKQ3o4UnBi?= =?utf-8?B?bVViYUYrT2dBZ1ZTZEt4U3dJR3dxdVpxUjBUU0dRTzh4Zzk2WUtucVpFa2hN?= =?utf-8?B?WnJVZGNqMUtla1hET1hkV250TVNSSEN0RDNCQXZzbWdDZ1FiNGM0aFZNQmho?= =?utf-8?B?US9RUnE4U3FUZ3lZNjhkTmU4ZzZjQ0krL3E1cEtIbHFzcXRocThvUmVKNmF1?= =?utf-8?B?VFhLcTVObndzRDBTR2FTa0EvQjFnYjZzM1hUcEFjZTVxUVRiSmdlWWNucHgy?= =?utf-8?B?SlBqcS9ZM1BXd2hKSWhZa1dCdUF3bEtmZGFFMXFzUHVXMitBYWkybVRzM2l4?= =?utf-8?B?cWJPN09GbVhhZUM3c2VoMDY4c2xCcXFMdkdzRGVWZ1JoRGx6SDNYcE11ZjFj?= =?utf-8?B?SVliaytGbThOSmNmNUtBaWc5dklNNzNiQ1hqaS9tNTh0a0ZINlhvZ0JpUm1T?= =?utf-8?B?ZDJJQ1BNMklsTi9SUmRRWlR5eXdhMUtzV3NnNVlveGxNTU5Yc3hnb0dhS3Y0?= =?utf-8?B?UytUdnNsQWsxQlNaczMweU92Yld6bEcyUExVWjQrSHM1Sm9ueU5SMVQwTWlE?= =?utf-8?B?Vnd1bG1zSmw5V2xHTHhkVjZpVlBEaWtKekpma3dTTmxQUkliUjZFL25VT0Fq?= =?utf-8?B?NVp0SjVBRGRIeWtyVXZPMlhMZVZmRDlEdkx1YzVGcUNzSjdySG5BeXNoa2tB?= =?utf-8?B?YzRvekVyYy9pNEtPTXN1M1lTdXlJY3d4MUtnSjQxVnB3UWMvdG1ucWcydHlE?= =?utf-8?B?UkhRbFU1akY5VUt4MndpS24wY0xwcG8xWm1naC9Ib25SMTF5NE9zbktZVUFW?= =?utf-8?B?RkdrSUFoS0NGdG9ud3NZQUY1U3NEOVdzUlBuRVlFWXV4Yk9NQ3p2Y01GODNQ?= =?utf-8?B?RkxDb3ViWVRMUkRFUnR6NkRjQXdRdGhQME4wT3l0MWxqWExWTFh1UlI4Qjd2?= =?utf-8?B?eFF1UUxHUmUwZXc1UVBjSHlxQy9hVURQUmZDa0lPR1VpbFZzcERITnB2VFJp?= =?utf-8?B?clhsemVvYTRRMEFBT0p6alc5bEJkdlBhZUhRMXNXM3FKNVZKak5oZm5zb3h5?= =?utf-8?B?bVBRSjE4V1NpZnNFcldtc2xUb3NIbHM4L0RIb3Z3YjQreWFuc3pIMVhqNCtz?= =?utf-8?B?WU02TmNDVGE5T1cwWlFKNGtHWjZmeU9BT252YjFYWmhLTDQ2NUx2Mm1JUW5I?= =?utf-8?B?OWd4QUpCWi82cHN6TVRReUNFdXFzYmdmUWdiTHpNVkNLdVpFL25EcjB4RVZB?= =?utf-8?B?SjhncTBWay94bmxLRjBNbDhHeUhDUG9jUGVqcUNqTkNxSlVOeXE1N3p4d1Z3?= =?utf-8?B?Q3BZbVFiK3lvS0c1d2czbXVYQXJmWFJqQU9GeDFSWFNrYzQrcU9adkwyNEVF?= =?utf-8?B?UGNxL1g2VEdhUmlvZTh5U0VsMkVhODY5ZHVkOTBSamlDL2taR0Fra0paa0lp?= =?utf-8?B?d3pubU9hYXFSKzdnbjYrWVNvbHEvQ3dLQXVMZCtTZFA5dEowQ0FzZ09IQ1V3?= =?utf-8?B?WGlnbmZWZHV2ZHBrRVByRFl5bzJ5OEpZbTVyUTZEbHJiVlcxM1FGVHQ0Yk4y?= =?utf-8?B?R1dKWFUxZGNiRU9TZkFuTnYxK1ROYW5BTUFqcEx1Zm5xUytESjY2R0YveHJn?= =?utf-8?B?N0EydVFhVTdCZnZQeWxrSzJxcmNYcnhjNnNxZUlCbDdQVGJaTUttcjNYLzcy?= =?utf-8?B?U1pEYTd6K0xOYm1ZMDNNcThhOW5aNVluazVsZjQrUk93RVNoY0NyZytFYk9I?= =?utf-8?Q?edY7gYFmJoM=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ5PPFF6E64BC2C.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NTVCcmU1R1R2R1hrbVJFS0JiYVBna3NnK2Z5U2pWOEpFNE9HN0Jkb1V2MEVC?= =?utf-8?B?RGhOcTJpU3ZMUnNnd3dPd2NXVlkvRi9XbnNmN3h3Qmw5aE9GUHE4Njh5RUd4?= =?utf-8?B?ZldwckRzN0FQV3FFZ0VBVDBhMzJSNUxUcjQ0U1paU1pWM1I3TmZXbEhHZFli?= =?utf-8?B?UHp1ODk1d2dNeWMvTTVweDhTNHluNy9HeDljRG5pTGlTRlNvbTh2VzVrZTZo?= =?utf-8?B?NE0yUis5NDNaWkNJU1hWSTErbE5FR0c0RC9tL1BLbFFqR0FZWWVsMCtiVXJn?= =?utf-8?B?WnFHREFpUXppZG1HQkNFN21JZlhKY09GUEVXdlM0ejA5eHpCQzRwc2NJOGk4?= =?utf-8?B?QzB2cmFRYXV5d09BdWZtc1FHcjVhYzFQRnRERkQ4ZWNSYzIxcWgzMmdxYzJY?= =?utf-8?B?WVZWN1F6U3U1UEN0Z1NvM1JueFoxVUJmUVlBYktoRFV6cnJ1dmtuSzRoZURv?= =?utf-8?B?QTJuRDJ5YWVoVVUyK1RSdEFKcnFPYzVEVjJXekttbURtTGVyUmFjT1NRNjNX?= =?utf-8?B?d2RBUVJKbFRPTTMrRk45ZXlFaEtIWGFoR0JKVk9PaHRWRklMS0lDRmpGd1VZ?= =?utf-8?B?b1pmN2pxOXlHQkdzQ1VZYlZrRDFZcDF1RG4wdVdmWCt6d3VhV2VmalNqM2hr?= =?utf-8?B?TlFINFIzV0d1amFEQS9DTFBjdEdZUTU0THl0YjVMU0srZ1RNU3p0VG5VUEtW?= =?utf-8?B?YTY2M1pPNHVONStaREpMN0FXY1E2YjBIZnBqeEdhendLV0ZzQ3hnZG9KOWhw?= =?utf-8?B?aWs2ZHQwNjN6MkhTYitvUjlPdVpMNWxGcXJMM25BT1N2N2gwQzd0aDg4bnVF?= =?utf-8?B?L1JaSksydERhWHF5bStsRStiejNrWGw4MGxleTRPTDJNTFZlZmlPbk1SQi9I?= =?utf-8?B?SUU1cVZydkhNZzc4ak1HckhRdVk4dEdBb1VhS1pJSjZHWHRpQkVKQm9ZM0VB?= =?utf-8?B?VkdmYXhVekhyZUs3bGRTQUJGSTB1aW1kVTZTVDJZM1EvN2VGNHA5WGFwL2VS?= =?utf-8?B?YUoybiszV0tyREFvazMxcy9kbDlrM21KeHc5eWwyWkMwSjh0cVBZS0hrOHdl?= =?utf-8?B?WlJtVVU2aXo4ZkQ3ZWozYTJwZzdjR1gwd0dWaFNRWm9yK0hFK2lQQzlEN1Jj?= =?utf-8?B?ckNybC9FREl3SU9EMFB4ODVyT25EdGFjQ2twSWUrY1AzVlNNQ3hNZ2gxandq?= =?utf-8?B?NjUrS0VNZEN4QzE1T24xYjFrQ0xpZGJraVplY2hKUFZ2dkRwMnAvU1JuTFNn?= =?utf-8?B?M0RZTERndlZlemdXb2VoWlZqUFA2TXp0TE1vU2RxeFdlRUN4Qnk0RWllMWJ0?= =?utf-8?B?TjRad01TMjhKbFd3N0NSMHZXVnZlTnVmQzg0L0g0b3dBOGNDVHJVV2l6Zlhs?= =?utf-8?B?NlJ1QTlUODZLR1lOc0lnWVV0RGY3Vy8rMmcvS2lqbEZtNUNJcUFuVDhUcTls?= =?utf-8?B?bUZmUWxmZFBhMmNJcUpScHN5YU9tSzdZdjMrZ2grYk5md3RmWWpiNVVlSmJR?= =?utf-8?B?OXowV2lmL2xPeFRzS1A4SkgyK2E4NU8rSzkzT0g4Q1E1NGVBNXAwdzh5Ylpy?= =?utf-8?B?YU5Zd2o1R2dZeS9TNk5vMDNjL2Y1c0pxSG4xcE9XRTRjQi9WVnlaNVNYbVRD?= =?utf-8?B?ZzV6a1NBSWF5aldMcnBjL09KQ0J3RC9YVWpmWjFEYk9lcGNHVlhJMmRSOWpC?= =?utf-8?B?cmRFSWNKYVNPWW8xSWNLbWQ0L1krci93Rzl3b3dRdHRza0lIL3c0dFVFNFA5?= =?utf-8?B?OU1yUzdIZmRQWVc5dGgvdlYzZzFXYUJ2N2JNQzE5Nm9ETlNnOGdlOEhadVNW?= =?utf-8?B?aHA0MU1SYm94ejZDTFR1Z3BDQzY4ZXRtRGFTZnVIMWI2dk1pa3lYdmtGRURI?= =?utf-8?B?eTRoeGhLWmlrbW9UazFaRk01K0krNXJ2YnphTU5DSVB4bU9qUVZYejVMeUpn?= =?utf-8?B?cTJPRjVqWVk3d1h1NVBoYjNlUkV3VTdCUDZNL3pYWUYzTyttTzg1WjRGVGc2?= =?utf-8?B?cVlmTmpvL2xNU1BBK1crVTF6ZTJkeWNQcmtEV3RXSm9LR2YxZlFkcjMxZW4w?= =?utf-8?B?aHV5NUE1aG4rS2JSNFdUdG1hUnRGSG9iTkF1RlFGU2xueEFRa0h4SVMyemxR?= =?utf-8?Q?oYgMhSNZs3KoDrUF/2gOAvbk5?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b41d53cf-e982-4343-13ed-08ddbde37cbd X-MS-Exchange-CrossTenant-AuthSource: SJ5PPFF6E64BC2C.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2025 05:51:30.7491 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: V4Lq5DZWujRpGemlCEgbLtztL9N6gm0FkDViCk6RqZ5gjj+95eQDfAFd0A6HiEA6hLAWwg+mFUt6IWXLs10Wiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4488 X-Rspam-User: X-Rspamd-Queue-Id: 5DB1B1A0007 X-Rspamd-Server: rspam09 X-Stat-Signature: opea96j3u4mhqtm8nhsjb3fpj5n7j6oi X-HE-Tag: 1751953893-21368 X-HE-Meta: U2FsdGVkX1/4+sctPX9r4qN3x8qFR9xa5z+ModgUCgrEBuJpRPrShJi//B5ru6GcUfMphLUMb3+0LkpFPVLaVn1oqa3Q67elL6KY8mo0SSh9hr3lL9d8I024V08eXC8qNSfNQhTaegyCXIXmLyoCYIzwbLgh+K9u8UrXUtTZ0WGSt7x5Zl4C6Ly+qZNbtFJEOQeZH309M0vsJR4jZw1HJyWdksXCfosdrksitSQl0U08su5xao8jTnc451IqnXYisn68+gJPBdO0saG7CWXj+pnwMR6h3y47QGE+JS+tDRk8ORFkHyffE5om547mmcdpdx8nbA58FuwAOErk3xywRUa88tlES/gKxvN006upeHzAvL8/d+ifHvhBYApMIMYW7B/5xZwYdXIOVEjRt0au67lBvMbY/+oRQJIBK1Qq7vtshPYixDo2l7K2ALjTW5Te11bNng7xh8Nj5ghPS7/j0/BDVMwGHaRLJyi2qdu1A7GSXLrOHsE7ytZPSB+9Pq5VVHa2oLc/GohnP8VX6ptUoWmB8FnBf96YJRG+/hogQUJDwOkIBrNtjHMY7kOFVn9oPFm/I8gbVM6Ex1IjoR261MuXOIPUD+8hKkiYiE8sLHa7CTy6ecjWFjCh6A4G6BD7/y7/gicq3f7Z1aGoDnbmz2fNo/C7FaadrsNaPVUAwMv7hfD717Kvz/BXsZc+yMg+CuB8VxgrO4QmtsOGbf+9zCvi0Tksw8lSPoqGD7k4BxBTSRLAqr9aJ0IP3SVgwsUugVEBuoeyAsczgnOKNXHUx2trhD+W+zrnTVrgBi3g/kjgGNqP8EB5O6A/lFdppAaDryDtlxNs6+tNvE6Bj762IL3zIIGX30uGFyVqx4uN8iRb9NopXLUMXUSNRzk57xMb4R2s6WJHG7i5tQz9KUarTnfm6R4sp4p+SMibYclqd1aNxdKLRS78l32Q/9tCx1C44mFB/45KW8RNYJ35AJ6 lgsCe/nw ojs1eScB0M0GfmnPZUpualu2k0v98jwQdtdGWiLfy0t338Pa2koAPkNt9PfcDQMUwYkKS9xIc3dgRcza8sZICOve5cdcMDmQ/X9ws08lC3WROggkQ4lGmyolSPdjwsOoK1u6xFW763NYlis6Y/lxZBSqY0WhjO7YXLBMRJPYlcCNd10NsbY7j9HYSko7LdZ4YqwbzsCNvuXvsod01KMGh42qvJ0lPjEadxL+Rj5LR3P0GYWTE/jNOmUWk94hvHJqtXbbVs0RpsjUqWWnmezFcxi36keGFn/9/JCLxIyYLNmbQoSLwjaMHt4YMgO9CnBdiBiowEPAtd4yfVUOOBXBsX/5xSAdmiVXYSIG3kG6wAdCqBn0eU7M82YLF11HeZME8wUE0EyxiAnFLa4K8rRwiA12/W8vp+Y0jIGPUgxt0m9oiNn6UVNPMTkKkkh3NZEFpddVObW0qwoVjjTcfGSZAS/cf84c1ED6FxiN7tthtNEayCvjsFTuTUERB1BmTWmTlSkpFj+SlCd170fkfDUiQV8NDjC0YBb3zdUMRK/jrFiwVAWmpDxCx3LWP3ZAHQeailc4tQHkWF/vcDoVa0EdR7LjAk1Qy9fd4vS9O7q5/i5WeW2TSj1Dr6ZHnHtISJRD6jcOMNps2f1v9RBs+X/Vrr4X2ud0IzE48SLoQtKWCXbGYQ78= 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: On 7/8/2025 12:20 AM, Luiz Capitulino wrote: > Currently, the call to folio_precise_page_mapcount() from kpage_read() > can race with a folio split. When the race happens we trigger a > VM_BUG_ON_FOLIO() in folio_entire_mapcount() (see splat below). > > This commit fixes this race by using snapshot_page() so that we > retrieve the folio mapcount using a folio snapshot. > > [ 2356.558576] page: refcount:1 mapcount:1 mapping:0000000000000000 index:0xffff85200 pfn:0x6f7c00 > [ 2356.558748] memcg:ffff000651775780 > [ 2356.558763] anon flags: 0xafffff60020838(uptodate|dirty|lru|owner_2|swapbacked|node=1|zone=2|lastcpupid=0xfffff) > [ 2356.558796] raw: 00afffff60020838 fffffdffdb5d0048 fffffdffdadf7fc8 ffff00064c1629c1 > [ 2356.558817] raw: 0000000ffff85200 0000000000000000 0000000100000000 ffff000651775780 > [ 2356.558839] page dumped because: VM_BUG_ON_FOLIO(!folio_test_large(folio)) > [ 2356.558882] ------------[ cut here ]------------ > [ 2356.558897] kernel BUG at ./include/linux/mm.h:1103! > [ 2356.558982] Internal error: Oops - BUG: 00000000f2000800 [#1] SMP > [ 2356.564729] CPU: 8 UID: 0 PID: 1864 Comm: folio-split-rac Tainted: G S W 6.15.0+ #3 PREEMPT(voluntary) > [ 2356.566196] Tainted: [S]=CPU_OUT_OF_SPEC, [W]=WARN > [ 2356.566814] Hardware name: Red Hat KVM, BIOS edk2-20241117-3.el9 11/17/2024 > [ 2356.567684] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) > [ 2356.568563] pc : kpage_read.constprop.0+0x26c/0x290 > [ 2356.569605] lr : kpage_read.constprop.0+0x26c/0x290 > [ 2356.569992] sp : ffff80008fb739b0 > [ 2356.570263] x29: ffff80008fb739b0 x28: ffff00064aa69580 x27: 00000000ff000000 > [ 2356.570842] x26: 0000fffffffffff8 x25: ffff00064aa69580 x24: ffff80008fb73ae0 > [ 2356.571411] x23: 0000000000000001 x22: 0000ffff86c6e8b8 x21: 0000000000000008 > [ 2356.571978] x20: 00000000006f7c00 x19: 0000ffff86c6e8b8 x18: 0000000000000000 > [ 2356.572581] x17: 3630303066666666 x16: 0000000000000003 x15: 0000000000001000 > [ 2356.573217] x14: 00000000ffffffff x13: 0000000000000004 x12: 00aaaaaa00aaaaaa > [ 2356.577674] x11: 0000000000000000 x10: 00aaaaaa00aaaaaa x9 : ffffbf3afca6c300 > [ 2356.578332] x8 : 0000000000000002 x7 : 0000000000000001 x6 : 0000000000000001 > [ 2356.578984] x5 : ffff000c79812408 x4 : 0000000000000000 x3 : 0000000000000000 > [ 2356.579635] x2 : 0000000000000000 x1 : ffff00064aa69580 x0 : 000000000000003e > [ 2356.580286] Call trace: > [ 2356.580524] kpage_read.constprop.0+0x26c/0x290 (P) > [ 2356.580982] kpagecount_read+0x28/0x40 > [ 2356.581336] proc_reg_read+0x38/0x100 > [ 2356.581681] vfs_read+0xcc/0x320 > [ 2356.581992] ksys_read+0x74/0x118 > [ 2356.582306] __arm64_sys_read+0x24/0x38 > [ 2356.582668] invoke_syscall+0x70/0x100 > [ 2356.583022] el0_svc_common.constprop.0+0x48/0xf8 > [ 2356.583456] do_el0_svc+0x28/0x40 > [ 2356.583930] el0_svc+0x38/0x118 > [ 2356.584328] el0t_64_sync_handler+0x144/0x168 > [ 2356.584883] el0t_64_sync+0x19c/0x1a0 > [ 2356.585350] Code: aa0103e0 9003a541 91082021 97f813fc (d4210000) > [ 2356.586130] ---[ end trace 0000000000000000 ]--- > [ 2356.587377] note: folio-split-rac[1864] exited with irqs disabled > [ 2356.588050] note: folio-split-rac[1864] exited with preempt_count 1 > > Reported-by: syzbot+3d7dc5eaba6b932f8535@syzkaller.appspotmail.com > Closes: https://lore.kernel.org/all/67812fbd.050a0220.d0267.0030.GAE@google.com/ > Acked-by: SeongJae Park > Acked-by: David Hildenbrand > Signed-off-by: Luiz Capitulino > --- > fs/proc/page.c | 21 +++++++++++++++++---- > 1 file changed, 17 insertions(+), 4 deletions(-) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index 999af26c7298..936f8bbe5a6f 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -43,6 +43,22 @@ static inline unsigned long get_max_dump_pfn(void) > #endif > } > > +static u64 get_kpage_count(const struct page *page) > +{ > + struct page_snapshot ps; > + u64 ret; > + > + snapshot_page(&ps, page); > + > + if (IS_ENABLED(CONFIG_PAGE_MAPCOUNT)) > + ret = folio_precise_page_mapcount(&ps.folio_snapshot, > + &ps.page_snapshot); > + else > + ret = folio_average_page_mapcount(&ps.folio_snapshot); > + > + return ret; > +} > + > static ssize_t kpage_read(struct file *file, char __user *buf, > size_t count, loff_t *ppos, > enum kpage_operation op) > @@ -75,10 +91,7 @@ static ssize_t kpage_read(struct file *file, char __user *buf, > info = stable_page_flags(page); > break; > case KPAGE_COUNT: > - if (IS_ENABLED(CONFIG_PAGE_MAPCOUNT)) > - info = folio_precise_page_mapcount(page_folio(page), page); > - else > - info = folio_average_page_mapcount(page_folio(page)); > + info = get_kpage_count(page); > break; > case KPAGE_CGROUP: > info = page_cgroup_ino(page); LGTM Reviewed-by: Shivank Garg