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 1EE44C02198 for ; Wed, 12 Feb 2025 08:54:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 889FA280004; Wed, 12 Feb 2025 03:54:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8134C280002; Wed, 12 Feb 2025 03:54:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 63DF4280004; Wed, 12 Feb 2025 03:54:50 -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 3622F280002 for ; Wed, 12 Feb 2025 03:54:50 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id CA2C04B695 for ; Wed, 12 Feb 2025 08:54:49 +0000 (UTC) X-FDA: 83110682298.04.F31E1AB Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2068.outbound.protection.outlook.com [40.107.95.68]) by imf03.hostedemail.com (Postfix) with ESMTP id C229320009 for ; Wed, 12 Feb 2025 08:54:46 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=cQ0Fggcx; spf=pass (imf03.hostedemail.com: domain of shivankg@amd.com designates 40.107.95.68 as permitted sender) smtp.mailfrom=shivankg@amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=quarantine) header.from=amd.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739350487; 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=DPGbHZUUR0zNrs2MT/4/Md6XgevVhgpMeHXEtgJR49c=; b=zWd/BHGHmzX3FqpyoCMjzWFh6IUAQbeBXKw/IlA6k1Ny+JYBtwsBFrWAVI+stR4lYPGDTR 33+a0+/rxi2TeRrzs5RwXRtiVgcRoNnlfuhe26m9Cp9Nn+bjvHW1wDH+OH/bXsOZu9Zmow xjSiagw5B+Sdx4hlWr9M/0Q+YyLDnVA= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=cQ0Fggcx; spf=pass (imf03.hostedemail.com: domain of shivankg@amd.com designates 40.107.95.68 as permitted sender) smtp.mailfrom=shivankg@amd.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=quarantine) header.from=amd.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1739350487; a=rsa-sha256; cv=pass; b=ZCar0nwv61iIIOzjUPrkn9DRzFObJ0ckz65fyV9QP1GnmU2QScr66Qu1+eOT2/ZC604XTg G4QMDI7bxgWOar97A36O3VVTJ2mGHz7nFejZXJAvynvR8NbV7Xc4YrUjkhzlUQ/a1lyEMb NRchZbCIzj25Npp6dYIw/SqfI47x+gc= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pz81izwpCMizDozQdAZxD2hpfvMg8cg3kA9VnO5oOrWQPX1vTQ6TJ/SWg/VjdUk2Z88X+2wmuqsSs0nZJajv62p3CQbeZDPDJoQEy17bDofyY731DMZnQgwkuEzjKnSGEyvF4kUo/9ZofO3eaTX4J/s9cHtW2jS5qe0JwMvvWf9PuMV3lvYnDvpjfdU+ppkHMXqHcEh1l9so8yATFFkJyE/CaoawGc5N/qzxoyOy8n6UyPp1M6oHAb4RG7tUSSOGrIX3Ucv926GCwBIhlG/srYqsxqsI9IloNpV+guV0txNqUsBdU3/KOxv1+bmpu0u6IIgSYWf3A7rJLO4ZsL4a9Q== 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=DPGbHZUUR0zNrs2MT/4/Md6XgevVhgpMeHXEtgJR49c=; b=XqHfd3upJP9xGaXQUzwJygLhXXG3c3TTVAYum46lMfmHOOjA/aquXlfDxyPalBZY7nTF6ddpq3tnZUxnrbbkbt4AXACAepXr8PR+r3Tro0aYYx36CFjLZQBH3TyW1Vf5MbdGoICK9dCyQvfexaBvjU8+4EPwmp8fCr4Ny+Dd+EABSDkFxiY3IhaiylZCWnt+TJsbiakJxR+8b5lbO6JL7iYoVB8qtlJAx+RORBzeGUxtGbVNC/jZuv6wDaCtgm1FuFw+sL6EVyXOTO25ZRgxCeYOk6r/wXf4n7e+VLxTD89VULUCR0EolzLS5vkVlaHkajyo4fNm7lQgjHw4Di4lXQ== 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=DPGbHZUUR0zNrs2MT/4/Md6XgevVhgpMeHXEtgJR49c=; b=cQ0Fggcxve6DH/mGdH7ahqX3hw0pnpuamjbUdad5mElhhAA/R5qcsJ22eCl8vmNDgG1OVIgM/S3cjgfT8VajlR3f7EdQVIhSBQtgc7lVjdAfDdplHso0bd0JiwLQXkB8UUMEVY++JuEWcQvdO8ubxx4wL/4txOmOsm+aGfsFRoE= 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:54:44 +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:54:42 +0000 Message-ID: <5c04577e-6869-479b-bd22-c8868a1fc50f@amd.com> Date: Wed, 12 Feb 2025 14:24:35 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 2/3] mm: Create snapshot_page() To: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org Cc: David Hildenbrand References: <20250210212142.4002210-1-willy@infradead.org> <20250210212142.4002210-3-willy@infradead.org> Content-Language: en-US From: Shivank Garg In-Reply-To: <20250210212142.4002210-3-willy@infradead.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: PN2PR01CA0236.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:eb::20) 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: cc975629-a773-4bdc-111f-08dd4b42e417 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?a3FMWksrVTlUdzZvdlNWWkkwRGJob0Z2blVXZG94VHM3T2VuR01VUzBrSGl1?= =?utf-8?B?RHFIWElJUUtKclZhai9NbFR3RTZJd1ZxdFlFT3RsNmdoOCs2czFodDNPUG5V?= =?utf-8?B?OVJyVkYwdGRHTVE2WjQ1T3BvSlNaMGdOQlhUcGZhN3o5U2UwdWJ4cDRhRzlX?= =?utf-8?B?MkZRMWhNcDZENjdQNDcrdlRoaEtqK2F2TzFyQU9BbHZCSHBlVHlDelZYRUNr?= =?utf-8?B?cWtpdXFoSHMwT28wQ2NNd1JvUVRyTTR3MkpPclNjMGIrTms0OUZpYjQ2ckJ5?= =?utf-8?B?ck1UQkFkV21YODVmMmt6RlpZTTd6VFhkOXVNQndNYnFraXp0RTdGOTZtaU82?= =?utf-8?B?ZDVXUmwrZkdwWUh1M1hCWTcycUkxeVBMMFFld3VTMGxwbkdESXVnQ0FQRE1I?= =?utf-8?B?aVNuWVZnZksraSt6K3l1bnh0cnJxUDFHWXNta2lTTWR6ZW9YbHY1R2dCMHVN?= =?utf-8?B?cHc4NkUvK3d0ajhyRjlFMzk3S0RCd3Vjbk9RTnQ1NTJjVDRoSGYzd0Z3czhi?= =?utf-8?B?TURCL1RzV1d4R0tLUE82djFvV1Y4c2hMaXV0dysybnYzSmJmb0Q2TkJxem0r?= =?utf-8?B?SzJ4OU04c3FPRW5pV3MyQ2E4ZXJiWVV6N3dLeXhzNnM0bEZ5UHZZVlQwSUtn?= =?utf-8?B?M29hSm93TkdOY2lFRmtpZ0s0N0FyenlET3FRSXBRRGtIQjM3c3lhcXVBV0R1?= =?utf-8?B?L1J1ZkJWK1U5QTExOXdTRUs3c3o1S2FtZW5Db3pjLzNhR000d2lVRzk1czAz?= =?utf-8?B?K29jaGxYQWFCcnB5Uy9ZZCtLcUpIYlFHYUtUdys1TTdKa1BRQkxrUzZjTGRK?= =?utf-8?B?b2NOajh3clZ6QzJOaTJRWkdnQWh3anNENXU3L2hycnQyVzN2VzIzeWF1cmRr?= =?utf-8?B?c2krN0tzTmQvdjlLSmpvTWcrSFVxaE55aHlkK0ZleVdiNWlMUHVrUUNMRUNG?= =?utf-8?B?cGxrS1drZ2tZMjFKdCtzOGloQ1grL1ZSZVNyUEpxQWVsRk82a2JidjE4N0JL?= =?utf-8?B?dHh0cXZ6L2tJcGhjcGFWNURBU3JsMGxQeGd5UmRXM29LN1ZRNVV2NmY5SnhJ?= =?utf-8?B?OFBkd3dDTld6SjRndUhIaWxTeFY5RnpIQ0FYYkN6c2tVNXJZM2dGakJSUlpv?= =?utf-8?B?RGoxS3JYTmIzQ0tLOHAxc3NFamxHMHlYdm9ycGpLT2s1Ymt1RVBZT0JvK0R1?= =?utf-8?B?R3dVMVRySUMzTndVMFEvUEl3TGJhNkZmU0J2ZWExOEc2R0FtYXQyUlpDVW00?= =?utf-8?B?YlVuOWR5UXkvOXZSUjI5aWNlbGVoSnp5ZEZpVnp1NmFHM0pqQUdDNTJ2eW5t?= =?utf-8?B?SlV2b1NreUFpM3NjeDY0WnU0bzRkOCtWeFl3REVpc2JJUjZQU01UaHhNTHAv?= =?utf-8?B?OXFzbkovNm5qMXUvOG9FVnRsc09NYTZFSzFvWEtWQUIyN3ppaytGSnNhTzJt?= =?utf-8?B?WG9pY2dDWWFvU2d1WEF6YitOSEE0bzVPWkNCZFFMYnBpVGwvdWxaZ25VdGJz?= =?utf-8?B?ZTVKc1IxSzdZeHpnSkdsaWErMTh3bVNhcWlSWEtaWWJEbjV1bE1RUDlrdHhS?= =?utf-8?B?VER2Y3lkSDlOTjk2S3Z0eWpaUkJ2NUVQWWlVSkw5MTZtZGFXZ3VEOHEyZC9F?= =?utf-8?B?QjRhakJkYzA4cXhDUEtwMy9QUktiRXBZTlB6ak5ReGhqYWpJL1ZGNTE1akJH?= =?utf-8?B?aFZ6QXZnakZ2THVWMDhTTktQbUt2TlVuaURab1pFemxpaVZxU3dWdlllaENR?= =?utf-8?B?SmY3UytGbGhRMUlHV3VLVy9aSTMwc0IyUG82a2twR0JrYytncDhSWVJmZzBE?= =?utf-8?B?eTFjZHAvMHA3N2JUaUhQdy81MG84MmRHbGFESUNOVnBjS3hGSGRDTDVIeVEw?= =?utf-8?Q?al6L6hAvEQJDO?= 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);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NmJ3a1RKVmFPZDJmV3lOdEtkWjRJQmwzeVBRZ0l5RVJzWi8yYlhXMUEwQ3hB?= =?utf-8?B?TVJpZDBVclY0VFRwSjI2aWRCWFBDZlhqblhPVzNWQ0FWTVF3NHZLUXU4MUI2?= =?utf-8?B?SkJuNittTUoxTVFHOUxTbTFrbVZhaEtpZGhnM2tHcTMxczkzVGJDT2hyS3pX?= =?utf-8?B?elNvNTRTYjMvcG04TmtibHVYZUZxamh5S2JZMUgxbFBWRkMwQVR1UVhJRGs1?= =?utf-8?B?SENjUmpueUtqblllRUJQYURicElodDRjbTcxVmtnZUkvVXA5Q05hZVpzM0RG?= =?utf-8?B?Uko0dGRMUmRNclI2QkJCZVA4NS9WUm5TTlFOYnZyTENZU3V1T1hQKzFuYkJJ?= =?utf-8?B?S1RQOVZtUGxSRjlZMXo5K1ZFZC9KVldJb3NoQ0xZS0xHU01aUUZXQjZQa1Z5?= =?utf-8?B?T0xCK0xtbUhqR1FSWE9TbmFMMXAxSHFsdnM5dU9Td3hGcG8zdGN6bzY0RkQr?= =?utf-8?B?NHp0Y3c2ZlV3T1AvdXdQeStrRG15MjFsbVBaeVMxTnZmVmQ1TWRRUzJ4YS9a?= =?utf-8?B?ZFJXWWdvRWZkRVovbWhRcUZUTm5nekQ0K3NJK1IvakVMMmNQRCtIQXVZRWFF?= =?utf-8?B?M0t4c3VZeHBIREE1Vy9IcENXVXRwVGRlbHppVG1KK1lWVE5MS2VKWVFhMXkx?= =?utf-8?B?Z3BTTGhoZFA1NXNCOHZ5dTNMMVUzUVhHcmYwTFhYNHdoNGNJMmlzZUVnOUhV?= =?utf-8?B?dEMwRWM5d0l6a2F6STVkLzBsUCtWL2lDYXBBNEdCeVprSGpQUnVNWWdQRlcr?= =?utf-8?B?U1A4OEhGTHFRd1BOaC9lVlFqQmpjOHJma0M1bVhQcVRhYUQrSEZLRFNzM0N0?= =?utf-8?B?MUdCc3NFV0pHekVwMkp4b3E4Z2Uyb0xyL2NTYUdEZXBBU1lHT3VJR0d3RUND?= =?utf-8?B?dlNYanJhb0w4OWRLVUlaak5XRFZrVEpzVWNSbmp2WkZzSXNiUXoxODBZbW8y?= =?utf-8?B?ajdQWlJUaFNUcmtMNEZMYVNBM0pKUnRFMkxvc1hpYWFkcEZiTGZJNGVqMTJY?= =?utf-8?B?dUVibTlUMFNZNGVuN3Rma2lyTlptN1VLdWx6ZUJCSlVGYmsxc1pWMTdPdENi?= =?utf-8?B?bHBBUmE5UVJEMlo1Tm93N085QnpvVHpXaCs4VnEzWG9iK254d2EwZVJrdHJs?= =?utf-8?B?SHdvUDEvYzNMbzNEcDYzNERkWU5TVVFsaFNrVjlWYWNPanBETE4zU0l2dVZF?= =?utf-8?B?WW1ockF5MGF3WUJRd00wWW1ZamVIMXdiZk0yZDg2MlBnVEtJcE90dkpSVUlx?= =?utf-8?B?RmdjajdTclAzWndoeDdULzRYNDNma1JFczdTYmRsVDYvdXh1enF1YjdhRGJk?= =?utf-8?B?NklNZm1QcWQ1WkhPd05vOTVsMHNHdW5Qbkdnd1RTVHp6eDJWaHk2aDBHejU3?= =?utf-8?B?L0xNb29pNWhTMlkzakptR3ozQkMzM1RNVEVrKy9HNEdPMUxQM2JUdVpYdUNM?= =?utf-8?B?MjAzaTFreXNha1RvUVplQ3F0bmRyWFExWlN3T0grN0czSWZ4QS9VcXpocURG?= =?utf-8?B?RHFmcGxvL05xSDFVeE5DZG9vSjFYOEkxekw5c0ZyK0ZYK0JReUJ5bDNZR3FT?= =?utf-8?B?VXlPM0lseW1QU05HdzFEWjFLK1RXWHVUV3A5S09WYXNxTFNaNDdDRG1GdWx3?= =?utf-8?B?L3psZjIrWkdmTCtuYVpnR3h0eVpaS3NMTHY3Vm42cGFtSEs2MjFSZTZQeGVx?= =?utf-8?B?QlFqL2k1L3duc1NIbGpTRTAzM2JER1VUcXgrMHp3dWVPK25BSEFKMUoyMUNB?= =?utf-8?B?TjUyZWNZVE9mU2JHbmtPV2F1aVZDbnRmYmh2QlVJTkc2MVZ5N3Q4cDlOYlkr?= =?utf-8?B?N1F1bHFWYWxNeGtOMFdOaFBkRkkzdGQ1L20zR2pCU3g2TFVlcFpQcVNNcmE2?= =?utf-8?B?LzZNT2svYUN5SEFZQWpyMytqR2I4YmZ6a1Jxb1A4Yis4U2JJOGYwbUE0bk1R?= =?utf-8?B?b25KR2paWWJSRXBaTGc1RWxnTjg5L1JJSmpBYkQrMmJJN0R2aVgxcjV2am9B?= =?utf-8?B?ZGpWcWM4czNhU2g5RGRWNndyVHBjWXU3OXhPa0hhcnZkS083YjM0ZWVIbkQz?= =?utf-8?B?WWxTekR2R2UwMHA3RnFvQ0pGNnZOQXZKVnY1cjVoWHZodlBIaWU4d3ZTSW9w?= =?utf-8?Q?3T8pS0hlw+I5PCM8NMW7opY+N?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc975629-a773-4bdc-111f-08dd4b42e417 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:54:42.7788 (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: AoEnn/dcsNWnyNyipOz2TvSG2YW8vnMRfEVPCwDvFXQ6VjVZOLJAA3sYSlGhxuONw917W5RqZrcJYSZ/0fc+1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8704 X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: C229320009 X-Stat-Signature: expc3y19bbs1q31szuxman9a1ngcjsij X-HE-Tag: 1739350486-623258 X-HE-Meta: U2FsdGVkX1+V1UnVNz4bKyn4OjyQQXcmd6on4EIYejDSor1MZktpuo1NMQIARMlZZzMGBy10pvDsmoAEgA5bUa9zjeEZsMjMe5RRP9L25q9XXNnKiHRECorEEah/wRr+OrU1uFjFMW9j9jx2G3yVweV/ucNyaRzmB/pqwk6pRbFRTzMVfd85xi+BHCdhRye6kMYHcbov3o4LzInHeEssLkYf4y9caB2M3V9Geb0hbcoLdIK86JJd+PCLaxpb5BvvkBiIIJ5ObwuhrwTCBBCcFu4xEVdCK2GuxDes0RfegktLx1YsK1dH2i9MtJ2atF5qA5wO6jB14Daj2dFFlAB/lEzhHKLu+buqDX+KMnTP9dxwWkgYOul61BhMsdSWlNmTPK0iYVLmXooTvAfQllFnhFm7vRF7pQ+wWekcEwwIuzzPZ5M6DmSmOUECiZfI1tmZQfWqtbpOk4YeIAu0f0qRblDZED3YVub5E9yupAod6TyhOEFG04Cpl71nt/3tNnCQw49JfwWHsYA+RalvuvyD9SB8TAoAhv1Ql6hfOjQvBSMTT2CRordz5y0/puTQ2Hc4PZ9bJ9Fd1NzRlIPTlDQZ3QB7dnxfSnT72uzCqjxH6Vl2vBKhmH7ZJ4AcAN6CHikjyHTSdNVwbDSTIzcYYB94vwUTSQ854p1hE6o5+hChTCmRRnKmOUmkjXjdsuSGAT1X5c8l45plWhp9wQiX1H2Hdc/9OmfU24iIJcNQoP63XY2ISAHrh80sEiwgysWTi3KbURSKKLYJ7ZC6F6kaiDxWGavOwjvpurr5/4wwqsih/OphRR6KJ2UrtcBg/H612CHgc5eAF84WbdyhYU9902JXgKndVfKuKHcKs6YBrF6DtJc5/PFJx/ORneD1PmjXACigVG8xBmiPkAErcBJ4v507tG5AFMh01kVZLT+t6d1i8lRsSCUhF/UIQ9yN4FqiEQ9hNbUrLGsh1eD8bnS3BLk JkUlHi/i 0tLEse77t0ceowJ2XcmwPC+EgnFrVhRPBejPo2AAaFRvzqfnUNAef+/XC5qhZFRn9udxV4itwGik0lPJ+LeAL7nYdFAWw2M0td5pLy0wWOaOq1G5jaNLBzhV7HZQYbsb2OtTjpA7MzWZhcECy9wNeHtcrzlRuq+VgjLk9ZVkfBCn1ZSMdfy3el/RuAW8RMAl6igrU29DSuTBOd32stCeux24l44Px87DJGc+bxuMy3ba/uzbITooSZ0XrClYfa0qitaT75x8Qz2/TRmTY7/0tMZD1xPAoJO6wIx/zkU9cDEmAz7Vk1P50cVZ3R46F1zX93VJ8gOQRJ8NOhrwpAJ4Yg3j2Lv8aCRsaa8PB8Nms8iVCmEe5/O4TOdqUSP9YXWimDcgWWVbH5YLNRRsuf8+qVux+17QjK5N6xBZVyceJorivjqQ= X-Bogosity: Ham, tests=bogofilter, spamicity=0.001333, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Willy, On 2/11/2025 2:51 AM, Matthew Wilcox (Oracle) wrote: < snip > ... > +const struct folio *snapshot_page(struct folio *foliop, struct page *precise, > + unsigned long *idxp, const struct page *unstable) > +{ > + struct folio *folio; > + unsigned long head; > + unsigned long idx, nr_pages = 1; > + int loops = 5; > + > +again: > + memcpy(precise, unstable, sizeof(struct page)); > + head = precise->compound_head; > + /* Open-coded !PageTail because page_is_fake_head() doesn't work here */ > + if ((head & 1) == 0) { > + folio = (struct folio *)precise; > + *idxp = 0; > + /* Not a tail, not a head, we have a single page */ > + if (!folio_test_large(folio)) > + goto out; > + folio = (struct folio *)unstable; > + } else { > + folio = (struct folio *)(head - 1); > + *idxp = folio_page_idx(folio, unstable); > + } > + > + if (idx < MAX_FOLIO_NR_PAGES || folio_test_hugetlb(folio)) { idx is not initialized before use. I think you meant *idxp here. > + memcpy(foliop, folio, sizeof(struct folio)); > + nr_pages = folio_nr_pages(foliop); > + folio = foliop; > + } > + > + if (idx > nr_pages) { > + if (loops-- > 0) > + goto again; > + pr_warn("page does not match folio\n"); > + precise->compound_head &= ~1UL; > + folio = (struct folio *)precise; > + *idxp = 0; > + } > +out: > + return folio; > +} Please consider adding my Reviewed-by: Shivank Garg with this fix: diff --git a/mm/util.c b/mm/util.c index 9f9cf3933eb1..155493b71d28 100644 --- a/mm/util.c +++ b/mm/util.c @@ -1253,7 +1253,7 @@ const struct folio *snapshot_page(struct folio *foliop, struct page *precise, { struct folio *folio; unsigned long head; - unsigned long idx, nr_pages = 1; + unsigned long nr_pages = 1; int loops = 5; again: @@ -1272,13 +1272,13 @@ const struct folio *snapshot_page(struct folio *foliop, struct page *precise, *idxp = folio_page_idx(folio, unstable); } - if (idx < MAX_FOLIO_NR_PAGES || folio_test_hugetlb(folio)) { + if (*idxp < MAX_FOLIO_NR_PAGES || folio_test_hugetlb(folio)) { memcpy(foliop, folio, sizeof(struct folio)); nr_pages = folio_nr_pages(foliop); folio = foliop; } - if (idx > nr_pages) { + if (*idxp > nr_pages) { if (loops-- > 0) goto again; pr_warn("page does not match folio\n");