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 50512C021A1 for ; Wed, 12 Feb 2025 08:58:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE538280012; Wed, 12 Feb 2025 03:58:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D95D328000E; Wed, 12 Feb 2025 03:58:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C0F31280012; Wed, 12 Feb 2025 03:58:57 -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 A432E28000E for ; Wed, 12 Feb 2025 03:58:57 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 6EC791A1692 for ; Wed, 12 Feb 2025 08:57:31 +0000 (UTC) X-FDA: 83110689102.07.5594F11 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2089.outbound.protection.outlook.com [40.107.220.89]) by imf23.hostedemail.com (Postfix) with ESMTP id 81332140005 for ; Wed, 12 Feb 2025 08:57:28 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=zr5krIkU; spf=pass (imf23.hostedemail.com: domain of shivankg@amd.com designates 40.107.220.89 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=1739350648; 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=2q7amiEcqSe3DSoieZNqsMQBKu2UIY6fRZpn9c+Xn+o=; b=LrAad9hjKQlWGsDbaROrfzXW2yWmHexwBFu58QtwYNowNsHJHZWjAt1ntUu8gBsihj3QdU w8+l15L3oFBXNX7qG2ZlAuFgKc8jmIICqAj5zLMD7/L7FUYSOR1DfPNd6c/MM6vYB6e+KO MU3OGgJR80R+XQism6+GfhgCqUxU1ho= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=zr5krIkU; spf=pass (imf23.hostedemail.com: domain of shivankg@amd.com designates 40.107.220.89 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=1739350648; a=rsa-sha256; cv=pass; b=Kwkxgxx5hDgJvgjN5bReFr06pv7n/SFnwc3/Cwzn5pOnqpFQq6XkvMrvV1h+XDahM3N7a7 c0E7hLgAgyp35nzr4VHuq1SQs5aPpcjcYu98U2AGystaMmZIG0t9adsKi+DA1DVs2AdZB0 ZXrzWiwCAMW5GS07z9F0nKaxswRuxYU= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jNgD7/lPcLv9+qUreombRjz76bxsG+PPGQkXvID0JfEFGR1boDDwUqoua6L8Snsel9vp+LKqYIhihVqe4d8azx9qQlKULWpDWRlOSiYW7CNWi9RrbD6hnSW0MBUPRhCMi+6PlnBAHiX+k6IfVHqApzFlcCr0oMCvE/lTV1IMK8dydI0fihnyldS8/nGgAmTbrSvYcUW4GasjX2WAaGgUwFj86ioa4m5pY5v45NMHADy/77R599xRn9XIbz+ci3BY7YLWPZ9d4zJinFk/iei94aauhO/nJdRhddSz5yUzcOLEOmC/Mscvtv/RDA5lYMWDl+bQd97PPcWNv/jzwyM1dQ== 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=2q7amiEcqSe3DSoieZNqsMQBKu2UIY6fRZpn9c+Xn+o=; b=etu31QlWWZHX//rBZvn8I+4kCANs0WmM7a9Cs/x7lOVTm/LMoscGqO/BCqBQoKALfXxklIyF6zBtjtimR1Mpuk427QWF5vJGcZ88ywQRO89I/QC5afcj/Cb9tQQVwwOlz3E0l+RhImnvMmyXUEcZQc3NwYe8/Uf+02ujn6901tozV9WVWKJU2/hfVHpVZycSP/4M6lgaJe4n4poDavrLPnU3v6iMy1u0qupsx+mMg+6aSQnz1YOJawoevh7anHKfpweZA7Ux9Bv8HHcIIDxKj3/woojKsgNyByrF+0UAQevTVYaRLfQOKCNcieo9jq+iX68sJ4AH2i2JZdx/WbrjIw== 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=2q7amiEcqSe3DSoieZNqsMQBKu2UIY6fRZpn9c+Xn+o=; b=zr5krIkUD4cOT6gI4mysxeGRdlc130dJl86F/u2BeHV9Rsoao209WyBKqDWuV95s5xtKBu86tpSNmAfHRE5tdJyFzIK+C5jr3ADu6ACuGgYW5nNkIOs5+dnsEARK74FLC407/y+3kWd3Z0OPsILwfNuVD5jSv/xDpK6kQfndPsU= Received: from CH2PR12MB4262.namprd12.prod.outlook.com (2603:10b6:610:af::8) by CYYPR12MB8704.namprd12.prod.outlook.com (2603:10b6:930:c2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.11; Wed, 12 Feb 2025 08:57:25 +0000 Received: from CH2PR12MB4262.namprd12.prod.outlook.com ([fe80::3bdb:bf3d:8bde:7870]) by CH2PR12MB4262.namprd12.prod.outlook.com ([fe80::3bdb:bf3d:8bde:7870%5]) with mapi id 15.20.8445.013; Wed, 12 Feb 2025 08:57:25 +0000 Message-ID: <9f11ecaf-2f7f-4794-bf10-2536068f162a@amd.com> Date: Wed, 12 Feb 2025 14:27:20 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 3/3] proc: Use snapshot_page() in kpageflags To: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org Cc: David Hildenbrand References: <20250210212142.4002210-1-willy@infradead.org> <20250210212142.4002210-4-willy@infradead.org> Content-Language: en-US From: Shivank Garg In-Reply-To: <20250210212142.4002210-4-willy@infradead.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PN2PR01CA0154.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:26::9) To CH2PR12MB4262.namprd12.prod.outlook.com (2603:10b6:610:af::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4262:EE_|CYYPR12MB8704:EE_ X-MS-Office365-Filtering-Correlation-Id: 5df1ff00-5a92-4398-0cb3-08dd4b434550 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Sm4yQ3hVRHV4NFBpTm9QR25ISks2VUplZ2JTcWgwRHcycjVlVUljRGUzMVhV?= =?utf-8?B?cDdjN2NQaG5JRDBvN2N5N0N1Snptek4xTVRhakdCTWRZL3V1VHgwckhwNE5W?= =?utf-8?B?ZkdSc1dNVnJEaENNd1FCWWJyT0RCMUF0VEpmR1E4bXkxSldCUlIwajJvZDda?= =?utf-8?B?ampnYmdGWFlmRnRHa1FJNWFPMWhxbktTMk1DRGx0ZW4wbFgvK1lpdDVrQ3A2?= =?utf-8?B?MFdtcm84aFQ3TWhqOFo4ZFlUT00wVUVUd0ZhcDBOZ1lrNmRsNmRNa2ZVRThY?= =?utf-8?B?L3RPRXdkbEN1czBraUlZMU5PVlhxYUlZdE5sMjVUU1ZqWDNYMWxkQXkxWmJi?= =?utf-8?B?MUtkb0tiVkUrU3hRb3hJbk1RQ015TkhkaUtRNWNIVms4eW9rNnZjTy9rL0dS?= =?utf-8?B?UjB5VDlZSXhBMU5kZkdqRlczN1NPcTlxM1IyVEtlT0QyaGczaFc5aloxeGg1?= =?utf-8?B?cWFkVWhobFdldDhnUlU2VEJQUjJDdUxoU3oyMEdrdFduY1MzNWRtdklkM2FU?= =?utf-8?B?S014eWNxaGJnb1V0Q29PTW1XeWE1SWFqVU9uTUtQdkVsQm95ZitjVktoeDRV?= =?utf-8?B?ZWFhRkcvY0hEYkNvWDJ6ejRhRGZhTW9wU2s5VEduampHRW0zOHJVWjQzdHA3?= =?utf-8?B?S3ZMNmhtTUJhZ3c3SjVnaEF3Y3Y2WWZTTjlZZ2RoQmhZZUt1a0IwTktjZmI2?= =?utf-8?B?bDA5UFZNQ1dSWGRMZHFyR2hjdjZUOTFmZSs0RFl2aDUrM1A3a0pCWGJyU3Va?= =?utf-8?B?YXU3YUVLbjBHVGRFWWcyOXM4S04rcFY0TTFFNC9qZmlMVCtnRElXTmt4c3d4?= =?utf-8?B?ZEthbHkxc1Y1NmJYb3dUT08yOFlJMEMrOTF3aXJLTlNlMnFGRFJsdVAvU3Bs?= =?utf-8?B?YWtsUUdNVk1qNlg2WmljWjJaSzBxWVZpbVhOM00vZHhuWktVUzZTRzFKUndY?= =?utf-8?B?UkxhbERSSit1WGpXWHNQeWEvSmQ1TG5xbDJmRGw5ellPbkJ0dWZqbWNsNWlu?= =?utf-8?B?Ymh2V2VjRUtkbWt6YVBEZlBibSsvMjV0SUkzYWZzbzdkZFpybWU2aUpsaEla?= =?utf-8?B?bFBSamkyNGVQeUowU1hLWUFETGxRbGwyYkR4Zmh0cGlucmRzbFc5d3BhaklW?= =?utf-8?B?bzZwb2VFdFZrVWdOTVdvRlpsTmhVajJrbmpDMmVhQVdrakJWY0tpY0ZoVFds?= =?utf-8?B?MjVtR0R1WWJZVzUwMVBqSVk4N0d0VGxJeHNvZlpRa2FRbHRwdWFQcG1aczlo?= =?utf-8?B?ZTE2dFdhczRTeTN2RHhqelFxSFd2T1hSODJyOUloVnpWOU1vMkxNa3Q3QTBJ?= =?utf-8?B?VUhRSTd5SEl3NlRzUDkyYTVBNXg1RHhwTmRPOWxhSlpLOEdiaTcyVjkwbmx5?= =?utf-8?B?RWMrejhxZXp6MzJQcklvZk9yQlhDdzVUcUxZNzhaUHBZVHZhUVVtbkYzN0hQ?= =?utf-8?B?U0VqVS8yNkVmK0MvdkFncFBiNm15UE13U3RKTTA0WVl5VVJLUTN4QkprSURL?= =?utf-8?B?WVRRRjZIQ3dnMGN0d2M0eU9pNkJEdUJ3eUFrMmpRMmdkRURXTHVjNFlZTnRZ?= =?utf-8?B?L05vaGdOd2hWUTdaVVo1YlloZWFmdFcxYk9tV2tJTTM0U0Fick1RR3lMNDlu?= =?utf-8?B?ZUNkWlJMM0p0dmlUc05UQllYTU9MNDYrWXBnT2ZiNWQvOEo4aTd4YnI4TlVY?= =?utf-8?B?NUd3S3k4TG5McDlqUXkvcDZRUjRvM0VTNFpTZXBBd1pxQ044U290cG53M0Vk?= =?utf-8?B?d281eGVvWnJONENITU94RTRuLzJKV0ZvUmYrYXp3aFB5ZVArOGFEYzBiWlhj?= =?utf-8?B?c0J5d2Z1T0JSK1FmdGlraWJyRzd6UGdzcVB1a2E1QmFabW82OUNWRjNnZ25D?= =?utf-8?Q?rwJ2aM/DkHZF9?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB4262.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SzJaT2JWbGNqMFhmMG1nQnB1dCtsVngrS3U2V2MwNzBDNy83ZEE0V1grUXVJ?= =?utf-8?B?cU4yc0JoaGk0RVdCdGZGTmV5aVZPei9oMlZNT0lHSnNuMU13S0RGUDBSRzQy?= =?utf-8?B?RjhpaHZoNG01c3lrTGd2VytiRDFmM05FMUV0RnJudkN2TTJrZmFyR2tlVVpP?= =?utf-8?B?K3c1bkdRM256L0JoY2xjREJqcnRIUXFjV09BV2l4Yk9GSU4yQnhFUnk1UzJi?= =?utf-8?B?WDFSOEZVSmI1L05qaE9BYzUrUnhMT0gzRVlGemNZdkdkb01LMGN5T1hkcFRM?= =?utf-8?B?SXRLUHlXc1Nqb2Y4ZlRXUnFqazdQMG5CdWpnR0dJOTlKeUlmTmNDVTdqRElB?= =?utf-8?B?UzhuVC9RWjNadTBEdWFMbEt5OG1VckZFWVd1NGV2aC9tWkNNd1JTOXlQYXlZ?= =?utf-8?B?VHB3NjZ2VnBEVU9USXltNTY1RHc0c050U2lMVUZBeFU2OVdIQmJwZ2pjT0k2?= =?utf-8?B?aEVPeFMwNDNFbzRQWndZMU5jR3RNTm9mUGV0dVpkRU9KRXRrNzJkVitJVUcw?= =?utf-8?B?bGo4NFF1VjRSY05Zc1F4M3VNR1loSVIrN0Y3cnFoSElqMktFVGtpRXBhYnh5?= =?utf-8?B?cGMvZU9GQVdydm40NHQveTJDNnRSbEdHZ3Q5dnN4L0I2TkZMM3V4R3lzL3ZK?= =?utf-8?B?bnNUajBaanJ3NklmdVNsUW9VOWtENHNodkRmRDE3aDZ4cVk1SXNFQ1ZLVHQ5?= =?utf-8?B?b3dFcDV6SUdaREhsTGwyOW8yZ0dTN2dUc2xsRlR5bUd2TEFMVDMxRVZFcU51?= =?utf-8?B?NnRRK241YmVUZ2s2ZlprZ2J3ZEx4WTlrb0FpWERZYm0zTktpRURHMFMvcmtF?= =?utf-8?B?SmxkRmRHTS9yeXVQQXRhZkpFTlBVaVZ1bjY0aDZqWGJmN2FjamNIK2ZvU2tL?= =?utf-8?B?c3pLRGFNTE5maHgxWXVBd0lMOG16aG5XdEJCYWRCT0l2eEpiblhsVm0yKzlz?= =?utf-8?B?bWh0eEZIMEdPeStTamJERU1yV2dleGxzUHFURitBWmRqb1JMN0VQeDQwWGVx?= =?utf-8?B?d1lwMkF3RlFTREMwblptY1ZTVWJzL29UcjNyTHd6dUxZZU1VZWVIWWM4bGlp?= =?utf-8?B?d2lHV09rQjAzRXJiRmZOYUF2YnFXZVBrRnRRU1BXTzF2RjBYRS9DKzlPNk8y?= =?utf-8?B?TUE1ajVQTm5mYmdsMUJVWDBWcXZwOHVuNmJncGkwTXJLdUI0YU96LzVjZXFU?= =?utf-8?B?UDZScmR0L0wwSjVGSExWejBRVnd0UDRCVXZTMjVaNVRMaldaZm4wT0tnNWZp?= =?utf-8?B?bTNyLzRValNFaTJROHkyaUQ2ZnZLT29aTWp6M3M2clVhL2RFbjkxZTdEWDJk?= =?utf-8?B?Umdmdkc1UE15TzFXK1RyejAraTZJYXdtMnhBelF3b2kya0hGcEthVkxVK09p?= =?utf-8?B?RFRiWnRGU0J3dmVDTXdYSmgzQmo1M1ByWGtvWmRUbHB3UUxVRFNZUHdsUTg1?= =?utf-8?B?cHVsZDVVTG9XVzdhWFJVRnJ0R2ltZzg5VWFRcTR2dVh1aHQxYmFPc0c2Nmlz?= =?utf-8?B?UjdibnNIcTBjRW0zN0ozbW5SbUh2Wm1hajRzWG0zcDdrN3BiTkJDSUlZQVhS?= =?utf-8?B?MTAyd1RoeFRzQ2hCNytGNElGT0NFWXhlak5STU1SS1M5Q21SM0xMdjZPZWpZ?= =?utf-8?B?QzVCK1dGWnZhbDVsQndtNXp4WkFibE1tZ2tERmVtUDR3MElnc2w4cGlERHpm?= =?utf-8?B?Y1o3cXEzMStiNXFTcUl6VmY2MkFTdnAva0Yrb2gwUEFlSmVmL2gyQTZhZGpr?= =?utf-8?B?RW9GQTJ6VVVGaGdHajc4ekRTQXhwSlYvM3o1dUE2L3VudENnQ0dROVY1TWFW?= =?utf-8?B?WTJ3ejlBbUZXTTFWaDNCZlRNUUdIc3hidXVYcFRJWVUzTlhHbVpXOE9iV2Nl?= =?utf-8?B?a3pQSmFJRnBGZGpZcGU4RG1HMnN2bmx4Z3hGQ1ZEZ2JtdjhsZkRVSDM0SjNj?= =?utf-8?B?Q3pLQ1lXMVRSV2pOcXFFQkpwWUF1dG1NM3ZXQlZDOHFxbTMzTFVwSUEvTWx2?= =?utf-8?B?QW1LVXZMV0JaOGpydlo2RFRwSnJwY0ZyTDdPVFlSL0N0YnQ2bFF4by9pY0xo?= =?utf-8?B?ZHZLNVlpdituUmZJZjdJUzJ4K20zZys2R05yVUhGSmRsemFwSU03KzF2aDdV?= =?utf-8?Q?olrFRIWRMaU0Vs4W444HzyWh0?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5df1ff00-5a92-4398-0cb3-08dd4b434550 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4262.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2025 08:57:25.8240 (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: QMgxmX8xHosH7m9h3WSnaT+6ZT7xiwycxO/EmK4DJhRk6nXQsacAOnHjfLFNvI49ENCn4imN+NliBF/OO2mQHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8704 X-Rspamd-Queue-Id: 81332140005 X-Stat-Signature: gypgkqixdmm5os1qmez3448be5wc8c6k X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1739350648-185678 X-HE-Meta: U2FsdGVkX19CC8DWdqPjiKHmjfLP0CcUK4boG1bANRJiT6bfGFNfsADZjyKw0K5QTi3SgPx5FcWUMkN49tdVABpU+vakASomsmCyt+R5pS80gpUKz64US8TF+vinuM6zQAd159iQ/UhVUAtnd5kpzVwuK5QcCX6gdaqci8SL/YaWCR+puHN9lxjha9QK8f3Skdh/9A4oJDM4qx0eH/04G5zHarGewiSMTRihKTQFh3eiM8MaE9VtRmKWc5z6K3fKNs04THDNr0UCl/rw1n+l+WK3NLXa5fsqPf+ZndYdrh7kzVMOORQAF/aj85/+QHkVJkcqURMe3y24xrYbtSuz8zlPeNRuaDSxGCQMs5fwMZC3DtilmiIbACVfM4KtAU2v/hFMqP9J6BZgoEDikzCiSiGack+tzNC8ap1VX4vsE6EWNR1O2TGvWC1Gvbfh3imQvhXLaYoewtxkHyiO0TcFLqkRxKI+D9hKGuUlZZKdfilRzR8b5LkMZ+aPP67MDz2tKwCv+ydOayQL0TGZwGmfjLITdZHSHvlyNMxERbpQAkro0f+mXpdalNr2ME133OxW8xrZd3rRZeTv9n3syjldIbRMs6XuQvH8pkK7rkCNHYmVxhKK26XDsRQKdFbOVzmnzEIdFHMTFw1UpSzvwzuVHkZ8LtOBY1XFVy+fZVFk8rf9flhYQ0LbIbFtdQDvooUa65SoHlJYZVUwtWO873pKB7bXjuLvLc/t2Ik8GY0OZcUxnJL5ITAF1athtQ/YQ7Hu7LY+2E94f3KLn5eHL5WVY2QqahaYo3+AlcHbpnl/3KaXEBkic3uhZ9NFSpUSROAgFiAE3MKV6n3XW8mqqiAdF3vI01X4BjL8njen61dlM4da+/BCSroHzkdwMKgskVDFC9JuyFA52hD5n7paGCLJLPrusPUMTp3AtqqyoEEdt2+N3ufAK63L5NGFl/Q4IIViap1J4OVg+IhsdNdfck6 8pvVEf03 Sis4CPF8nkKkybpsmqPGW3YX9UF7U9S00pc3VO6/kRQO0Jhl/XWbmg8JAHGgWJ1CRQLZLt45LbK3D7PecFLcwqVJGBKHaynaUAcUUhQg4O4rNsthJWa11mZxxUkJKvdEotArMtdE/ANIVvFc7Y3Hf7Jszid/46RRK59WmVcedYA6Rn6Rin407hdkz23uI02LB/3lWKQnwTRsQZlnVm4rmjJlH0LFtXt6Cd8gS4sIkDH7HzFBe4LOcIgC6R0YapRcU9vkR5DMo+M3M/QYhhhACKvouzCKQL53+bRo+RfLymBF6iYgC4Pn33W/SY42xiETcL8hkgqlHGxVY9twqM18ebVJMtl1cJZ/YjF9sNv0kwXAnQnCPivvDSyHS8NrKLgw/QUbJKL6v2AKtowOrTyTCQo5nbOiB1xLLwloPmjkDL3WwDcTFnwxLk8dq+iLGVtW07y8bdjlh6lQ+673Lvp2HBlNca99uvvczcERoiud6v+HiIMY= 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 2/11/2025 2:51 AM, Matthew Wilcox (Oracle) wrote: > syzbot has reported a number of oopses caused by reading > /proc/kpageflags racing with a folio being split / freed / allocated > and thus a page which starts out as a hed page becomes a tail page > during the read, which our assertions catch as an error. > > To solve this problem, snapshot the page like dump_page() does. > > Link: the syzbot reports > Signed-off-by: Matthew Wilcox (Oracle) > --- > fs/proc/page.c | 24 ++++++++++++++---------- > 1 file changed, 14 insertions(+), 10 deletions(-) > > diff --git a/fs/proc/page.c b/fs/proc/page.c > index a55f5acefa97..9ebbb1e963b4 100644 > --- a/fs/proc/page.c > +++ b/fs/proc/page.c > @@ -17,6 +17,7 @@ > #include > #include > #include "internal.h" > +#include "../mm/internal.h" /* snapshot_page() */ > > #define KPMSIZE sizeof(u64) > #define KPMMASK (KPMSIZE - 1) > @@ -106,9 +107,12 @@ static inline u64 kpf_copy_bit(u64 kflags, int ubit, int kbit) > return ((kflags >> kbit) & 1) << ubit; > } > > -u64 stable_page_flags(const struct page *page) > +u64 stable_page_flags(const struct page *unstable) > { > + struct folio stack_folio; > + struct page stack_page; > const struct folio *folio; > + unsigned long idx; > unsigned long k; > unsigned long mapping; > bool is_anon; > @@ -118,9 +122,9 @@ u64 stable_page_flags(const struct page *page) > * pseudo flag: KPF_NOPAGE > * it differentiates a memory hole from a page with no flags > */ > - if (!page) > + if (!unstable) > return 1 << KPF_NOPAGE; > - folio = page_folio(page); > + folio = snapshot_page(&stack_folio, &stack_page, &idx, unstable); > > k = folio->flags; > mapping = (unsigned long)folio->mapping; > @@ -129,7 +133,7 @@ u64 stable_page_flags(const struct page *page) > /* > * pseudo flags for the well known (anonymous) memory mapped pages > */ > - if (page_mapped(page)) > + if (page_mapped(&stack_page)) > u |= 1 << KPF_MMAP; > if (is_anon) { > u |= 1 << KPF_ANON; > @@ -141,7 +145,7 @@ u64 stable_page_flags(const struct page *page) > * compound pages: export both head/tail info > * they together define a compound page's start/end pos and order > */ > - if (page == &folio->page) > + if (idx == 0) > u |= kpf_copy_bit(k, KPF_COMPOUND_HEAD, PG_head); > else > u |= 1 << KPF_COMPOUND_TAIL; > @@ -162,14 +166,14 @@ u64 stable_page_flags(const struct page *page) > * Caveats on high order pages: PG_buddy and PG_slab will only be set > * on the head page. > */ > - if (PageBuddy(page)) > + if (PageBuddy(unstable)) > u |= 1 << KPF_BUDDY; > - else if (page_count(page) == 0 && is_free_buddy_page(page)) > + else if (folio_ref_count(folio) == 0 && is_free_buddy_page(unstable)) > u |= 1 << KPF_BUDDY; > > - if (PageOffline(page)) > + if (folio_test_offline(folio)) > u |= 1 << KPF_OFFLINE; > - if (PageTable(page)) > + if (folio_test_pgtable(folio)) > u |= 1 << KPF_PGTABLE; > if (folio_test_slab(folio)) > u |= 1 << KPF_SLAB; > @@ -203,7 +207,7 @@ u64 stable_page_flags(const struct page *page) > if (u & (1 << KPF_HUGE)) > u |= kpf_copy_bit(k, KPF_HWPOISON, PG_hwpoison); > else > - u |= kpf_copy_bit(page->flags, KPF_HWPOISON, PG_hwpoison); > + u |= kpf_copy_bit(stack_page.flags, KPF_HWPOISON, PG_hwpoison); > #endif > > u |= kpf_copy_bit(k, KPF_RESERVED, PG_reserved); LGTM! Please consider Reviewed-by: Shivank Garg Thanks, Shivank