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 2A252C3DA6D for ; Fri, 23 May 2025 07:51:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E2386B00C6; Fri, 23 May 2025 03:51:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9BA696B00C8; Fri, 23 May 2025 03:51:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 881E36B00CA; Fri, 23 May 2025 03:51:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 68C726B00C6 for ; Fri, 23 May 2025 03:51:01 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C3A8681BAE for ; Fri, 23 May 2025 07:51:00 +0000 (UTC) X-FDA: 83473401480.02.12218CC Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2065.outbound.protection.outlook.com [40.107.223.65]) by imf15.hostedemail.com (Postfix) with ESMTP id E78D9A0007 for ; Fri, 23 May 2025 07:50:57 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=Ld1lr3Oi; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf15.hostedemail.com: domain of shivankg@amd.com designates 40.107.223.65 as permitted sender) smtp.mailfrom=shivankg@amd.com; 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=1747986658; 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=VOLmFnnu6kgtb5X+aMkpnOjQC6ZO8ZCAEXrgga5zpfU=; b=IuEDm5AXy/yCmQE+G2htCjKNgdnCo50GXK7jXyKAed6tWfUd4PgkBmHSIOYZHnx8oTav8x h3H7tIDQwr8fxlXXn9TG7xhr8V++deVF3hQYAnvdQUzns5+P6S/kSLzdERm/VOiqW5Q1He HZANlzoOTb+JnNDg3zW8pakG9ZRp+f4= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1747986658; a=rsa-sha256; cv=pass; b=DZw7G/n2qFmLljQlYjqveHPDzotnPh8ybt/suzRCmnhm1Pb/lqk/6Q9AGQuxvx7CJnqyfK sgN7iugvd5nMtCJsicnf9MjjOo7DbSqIqkyB5ySuG34k+XUpSqBTzhtUXTdkWHKrvUycsc GD6boQlaJZbotyp9GEbVCzdwopdYbYg= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=Ld1lr3Oi; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf15.hostedemail.com: domain of shivankg@amd.com designates 40.107.223.65 as permitted sender) smtp.mailfrom=shivankg@amd.com; dmarc=pass (policy=quarantine) header.from=amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ENYkbNbnMtF87vM9w5uFTa0aQ9XMWupeAf9ZDTYRmbcuW2NTdvkaun2hinBuwWxfC7EPEWjjChADxag+MgrfLYGR8Sf7ZkM4XfZZAdsEY/Sk0SdiRMFFCKjUkngeTcw2aEQLyr/80owweNKA6igXoNCr1g1HBtFh36T2tlv3fUbYsvhNjtffOeI9DwpSPBDzTWm6P/Uyynbjv0AW9cSUddt5haN6ZD6TKlaWiLVUdGEM0GfQlyv3jRnEivz8ClWUrJKWEHSkaMI3f2VNRr5KRgjsaLn5C7ij3IdOWoGgrXa7KPWv2BEn9zi7ooQRCTDkfuKuUDljhHVtgTv5dRWPfA== 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=VOLmFnnu6kgtb5X+aMkpnOjQC6ZO8ZCAEXrgga5zpfU=; b=OgX9Ym2ggK/rYsKO4jQpHiqfJcTM9ittxM3FlpUkS3Lt8986o4jTvHgL9rgCTX1pS/RdaCtPR4OyNN8BDenXT9VT2yw17WlIzJ10bcZ237t/dtZQRMI+JQTbYptaLB+VHPfpZSVx5RAG7EvqjoSwQ1WSqsqHK9EvyI+RjV1Nk9SXmGc5QGdi+FXTHGKkQKhOXprQqTwyXGqyPP3AEw6har+/FtSPu2suh7GTbDfU79ZmpVEfwt+pZ69qHUfO/oROsz/iSEBQumrG28015Z3VhlsmblzPWJ3wM7WICdQ3eIdHWdaCksIscsEAZ6DSL2x3cIakdEWtQBQRSnPyISb9Eg== 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=VOLmFnnu6kgtb5X+aMkpnOjQC6ZO8ZCAEXrgga5zpfU=; b=Ld1lr3Oi4h5N/g2bJXui40d7GtNpBzkiehAhpt+8PyPkj4KmGjoVsjK+Bpz/piMRcklnJxooSiGSuKMlPxoSSEfZQge2Z7sJmpEY2k+CEqQL2YMuSTN/V49TKl4rducRVCcFn4arBNIkvx2MB3O6KiFVnUCjDA6jATvBTwN5D4w= Received: from CH2PR12MB4262.namprd12.prod.outlook.com (2603:10b6:610:af::8) by CH0PR12MB8531.namprd12.prod.outlook.com (2603:10b6:610:181::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.21; Fri, 23 May 2025 07:50:55 +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.8746.030; Fri, 23 May 2025 07:50:49 +0000 Message-ID: Date: Fri, 23 May 2025 13:20:37 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/khugepaged: Fix race with folio splitting in hpage_collapse_scan_file() To: David Hildenbrand , Baolin Wang , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, dev.jain@arm.com Cc: ziy@nvidia.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, fengwei.yin@intel.com, bharata@amd.com, syzbot+2b99589e33edbe9475ca@syzkaller.appspotmail.com References: <20250522093452.6379-1-shivankg@amd.com> <3eae6bb7-4865-44c2-8603-dc2bd8e3609b@linux.alibaba.com> Content-Language: en-US From: Shivank Garg In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BMXP287CA0016.INDP287.PROD.OUTLOOK.COM (2603:1096:b00:2c::29) To CH2PR12MB4262.namprd12.prod.outlook.com (2603:10b6:610:af::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4262:EE_|CH0PR12MB8531:EE_ X-MS-Office365-Filtering-Correlation-Id: 73f1a3d9-cbf6-4f58-ecdc-08dd99ce87ca X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Tlg2VnNBWWtEZC9BdWMyOVZBazFrWWljUzdyS3hvWnZQZTk1aUsvdnRJVzV5?= =?utf-8?B?MWVDVVRMVk1PeVdjcm9hL3h1ZHNudk54b1ZHQVE2ZW5yNTVKUTdVYlhoWk96?= =?utf-8?B?RVg2MmxUUHFuY1cyRFpuN1RaajV5V1Zrc29CNG1NVktLSkhYcnIwa0ZQNUw2?= =?utf-8?B?WFQ2RUJTV2ttUi9CUHo0SUUyd1hLbXBZVkZHcWF5ajBva2FiWWNFdS9FRkYz?= =?utf-8?B?K2JvRWo2Kyt4Qk93T0xPeVkvVk0rdmg4Vnh4R05PNCttMmJRdVVKMFNUeFBm?= =?utf-8?B?dVRxSDBEM2ptWEZNZjFuaGMvYkZEcnZUelNnbGZGdjdHNUtIOHdXRmlxbGtN?= =?utf-8?B?cERoN2E3cFlrdFZrTDdoTXFQdWZKY0NROWpoUldYaEIzakVvUTNCcDlucjZk?= =?utf-8?B?TjMvejJsNVRVR2ZTT0pmbThybGtTYmY0STExV09SOVF1djhKL0ZnU202RWxO?= =?utf-8?B?R2R5U1FMK25ZdTlkaDJBNHFNRnlUdDB6TllwakRFUk56UVBkZFZsMWNpSFkx?= =?utf-8?B?ZGhVemFWSjFOdGY5Yy96aXVvdWJEM3EvdlJrWlgyU2VJYmtkb05RUnZrMGJm?= =?utf-8?B?VGNiYUQvNXNOWktMKzZtcUhwbEQ0NE11YVE2ODNhT3lKazFKZFJOUTVjUEw5?= =?utf-8?B?T21ySjNpZU9JV1pHUzNlaW0vZGFKLzZUWmxjTWJla0FQVllhS0pOR1YwTlFw?= =?utf-8?B?cTkrVkpjN2llSjZPblJ0WFFzcGJqSTB1bG1OdG5oUDFsS29RQnA4eC95WDFz?= =?utf-8?B?dlZPL0ZTWWFZZEY4RUE0bTVTbEpobTdpbllrM3dvUmFhbDdXdTcyNGp4eHkv?= =?utf-8?B?bEcrb1ExS2htb2FrN3VuSjE3YkZNcEdoUWVJYWthNW9OOTBiWThvVDlhdUhZ?= =?utf-8?B?TDVVNEJqK2xXV1NaY3ZOQ0wvT3cvbnMzV215dE5SUTJNc3hFMkdTL2dRcFdr?= =?utf-8?B?QzR0VTlQSXZ1bkFsOE9xQW0rVlRZU0JkQ2JmRW1zaXlQOCtrQUJNVXhEeTk4?= =?utf-8?B?b1dsSjJNcHpDVUVuTzdNdEMrL21DQTA1alMyUDJVYU53d0RlZHNoZ21GZS9l?= =?utf-8?B?cXNHU1NibjlwWlgycEVSd2FlRHF4MGUwTnRtWUZYdzRYd09nZzMyWlhtai9Z?= =?utf-8?B?SVVwOVd4S1BaNTZRQ2FGbk9pTHNtTFlVNTdRQWxEU3cwb3lwTS9TYlpVRVBt?= =?utf-8?B?emU4ckgwZlZobTUwNkZZRlFacFFodEJWSHErRVB0N1RKNVJwK0RaUWVmMlUw?= =?utf-8?B?MHZ1dlNkUDBqVlovWUxqSVVIM21aMVIzRjM4NEZ4ZXlteVFDQ005amsrTmxi?= =?utf-8?B?NElXZWRremdmMTdoL2FUMnhFNFZtZ2FVNDgzeEVPMTNpV1VKL2EwRnFEK1Bj?= =?utf-8?B?aFk3L1ZZUFVxSFhJeTFQRkh3bndyYktvUlNVMk9RV1FsUTdkdEFnUEl1Y0c4?= =?utf-8?B?Y1JvR1hJaFM1NDczM0o1OGdia2IvY2dPdm84bGFmeW5udmpNcTZQMWU3NDlV?= =?utf-8?B?azk0N1RrZ0VTT3Q1OWRDbkM0dDhtTWdjM1RnZmhnMzdOamZOSTRLZ1hrNFh3?= =?utf-8?B?UFVOOGlHTVVxa25tazFQMENwZzFkNFoyYisrRVNaWGtpdU5MM3FvdlE0WHlV?= =?utf-8?B?dEMwYUNRVDFMdTVmTmZJQitNeGVpUXJHQnFFVFdpQW1od2VJZ2ZZTmRTanhK?= =?utf-8?B?V3A2cnhFL1pMSHlqTU80cGg3N2RIRXd3VUFwSWIzSVEzSUhoYm9JN1M0NlVm?= =?utf-8?B?VUhHQkJkclRycW5PMU0vYUZZTGV4TUdzMDNjU0pkN2JsV0h1ZXZlNG9WQTJ6?= =?utf-8?Q?nynzyEocGQxUwESJAAALqJqOpKXCtEP2q35jc=3D?= 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)(7416014)(376014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aWM4OHNURElOaHBZUkdUU3o0a1E5REtKWDNWcit1eTN4MWtwZFNpaEJPK1Nq?= =?utf-8?B?YzhQTkltYVdRN21oOStDRTJTZlpvMDlkSTk2eHJKK1JOVjJKNmY5alJ1b25z?= =?utf-8?B?NzRWTzREejl0ZHE5N1lHUUE4MWhwcUY2M2xXeXZwbm9weDljdG1hci9ZbzZG?= =?utf-8?B?bEtIc0lXNS90ZjVVbE1GMi9oTGh5VmRVbmFqbDdMSmIrME9NK3d4ZVFuN29v?= =?utf-8?B?VmRnSjJaTE00dERGYllPMHZ2Q1dLd2FENkorWVN1VmpTZmp6S0dHT3J1VnpX?= =?utf-8?B?VUxKckY0d1loaUViY01FZWp2NlZGNVl4cUdVYVIzSVJ2TkR4M0tXeFdqei9R?= =?utf-8?B?ellJblhqSjZFMEZUTFNhYmpFOHN6bTQwTVBJNVJVUTZaR24xVmJaNkE3U3I5?= =?utf-8?B?K295dXQxajVqbXR5d2p4Zm8vVE90SmI0bkdya2JBVmRWa0JYMzh1NXc1cFFo?= =?utf-8?B?NmxvN3VaQ0YvWUJBR3F5UGtkd3NNREdXRk4xVnJRalFBemllckxCTG9ZcDhP?= =?utf-8?B?eUdBWmIvVW05KzBiWEM0N0RnekRKNEJvSlVNMnp0ZWZFcVpBd0s2c09XdjJo?= =?utf-8?B?V3B2d2FKcFdGVmFKWkwwMkpYa0c2VWc5aTMwTHViR2p6eGhMaGx4R29MNUxt?= =?utf-8?B?bXZTNGx3QVpEVXF0dmZIRHROalJKTW1pQXFML2cyYklNMlpNQUhhWHV0RU1J?= =?utf-8?B?MHRFZnU5ZTBIaTh6VlpsQlpVQnpBWWY4bFZ5MVMvUXVUZjQxY3lmVFhMZHdW?= =?utf-8?B?Y1ErUDlheGQyeXJEbGo1QzRGbWZwR2xEd2VERU52SjVLYVRPVWlIWk1MNGYy?= =?utf-8?B?cGNXNHlYUlRoTU9sdnRCY2lpR0VHT1pmUXg1TUtiMnFTSEZuREREVmVWV01u?= =?utf-8?B?YzFPRXV6VFZvNWYwYVdSbXpHRGlHNW9iNko4SU4vN1ZsZHdERGFYbUlKNHJv?= =?utf-8?B?K284UEg4bnE3cElqRjZvTGNhQ0czV09UQ1kyenk4clJOek9HQWVyaGtYOEUr?= =?utf-8?B?czJYZnNnUC9RV2cxajRvbHA3QjZ3cmxvZlZZVzJJYktNNUI5VFdkZXRUTlNU?= =?utf-8?B?S21xUlV0dnlmV2NVK2wyaHNzUWJwR1BKMjZKNityVXhNRXIyZndBc1RpSnZ3?= =?utf-8?B?b1d6UER3MlRodWtqQnp2WmY4dEVuVjMreVgzRXZzeW94VTc5TVMrV0RObzVo?= =?utf-8?B?WldzSWxhaUxjTER6OWM5SEtDSkhGclpqdTBQWVNPdkdZQWpCTGpnVlBHV0FH?= =?utf-8?B?OHNJMU9TamR4U0JSOHVBdzEvUEU3UEtETkFpSjJPVHlBZE5kUnR6TWlVZ3lV?= =?utf-8?B?dWxHME5mSDczY0xuMUJ3bFBuTFVjNlV5YmZtbk9qKzRDQU5tWUJwdW90SnNk?= =?utf-8?B?bHlvbThhUzNTelRJZDRDblAxOXM0RCtJdmk0eDBEa2p5TEVGY1daK1M3TUpP?= =?utf-8?B?ZXZ5cW5zY3RXZGZwc3BiWFVyeG5jNEJMYURwT0tkV3d6Z09HYkJIM0RxaUxZ?= =?utf-8?B?WEl6Q2NDUVVRaXZVRjBheWJ5MzJ1TndpT0Z4ZFZvcGwxNVVEMG8xYVVXRnF4?= =?utf-8?B?aEJjZ1QyZzVEbWpDdFUycTFqMnQyU3lsajk1cmxQN3ZqRUxUMGdqMlU2V1pJ?= =?utf-8?B?NTJaWUh3UkhjTDVPbjZPaUZxN282dWtQTyt5MFM2K0g0WFk0dDZuam1yQm1z?= =?utf-8?B?OVBEaStoeFg1QktZMG5kWHZ3WG84NXFuSTRFTlJZQjlFR0FCN1FBUThxdW8r?= =?utf-8?B?R1k0cWxPQmh5WHRiampZb3NacTBmaWhMbDhjOTg4OExmSEZSMFFMbHhrWlQ3?= =?utf-8?B?ZmEyZjNpN3AwampzTjNZdHVQM005K0R2T2FINURNdHhFeDBKYzdaLzNiUmd3?= =?utf-8?B?aEVKS1duZGJlNVJ6SjhxeHhOVWRMVmtmY3Z5NDNJWEptcllURFlHa2phbGg2?= =?utf-8?B?ZUdYdjFGNkxzcStkU0h2WGNxWmRqYngvanZDdlRsS0R3aStFakpjenIycWJO?= =?utf-8?B?UUJrOUhwQkJuZkVxMmlGQlVsQTFVYUxqcFBYUysyK21XZzU4L1V0STBzTVMx?= =?utf-8?B?cWVrd1dLcmJEemJMb1J5cWc5RGFacXAvR3g0cW9rdU9LOTQ3TTROZ004ZnVk?= =?utf-8?Q?jYEmo9WxuWJS9iFTKTuIlRZDG?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 73f1a3d9-cbf6-4f58-ecdc-08dd99ce87ca X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4262.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 May 2025 07:50:48.6460 (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: 2t0seBqJinr6Ew2zPxC40H8j3GRJc1ZGSBaVI9qxIYzSFQpfr5JXa0TEhPtn7ndRqLrh0jGbN8/B7GyAaTeIvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8531 X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: E78D9A0007 X-Stat-Signature: r7ha1j7hpgok5scu9oqt69mb97g3fjjk X-Rspam-User: X-HE-Tag: 1747986657-378206 X-HE-Meta: U2FsdGVkX1+KWLw4aTelzgETOiVTCHXHMv1VwyydCaewwWjv2r6Zt3Op6o5gujFt6XaQqc04akXXBcfj9K+gy3ET/30Ez1dfdv6tjarLUmWhAyCAHlvbguHekBR6RfjFiFJGGG2AW3pmzXIlSuLOppkqV26+GnJW0XlQFcbX5Wlys49nOfwh5mtAB4pPmBSd4WwNVyUDbVFq9z692T8Ia5YwIrMV3svfEh51H7WHFf9UJJdf6woxiJGmu4cLWqYcPI1/3Pa5f9DxG0U8onLGzjpQh8SRY019o3kG5obV5LNVN11dBUC39anKtOnYlqHm7ZDJou/25SUFWz8nYx66K0ujTBSOMqXS3ipwuKx5MhRJeoComyP4XWz4JjYxxRi5//c7yvY5LLP2b+j9x/OkRWGcs63PloXZfAhgOUmcODP2jNVXJrrbJGc9j0yAP/eMX9krYvBudIAO6gZvJ/q+Z5eFvGE3JM1PxUbQ5znJMdX1aaiilaNOvW6zgO0PGdaEE9T//YF51b94YOCiTPB+/uKBXvQEAccT54T6AXrM9Av7XVNcrm71UzrrPYu8MasrjtPIHUBJqRjDUBcmD4TnjSc0pSMPa8C9IfUhsIAxwQmd8uGNOpy02F781wunF2t5YKvuW7A3IDNW0gRymbVUpYgSPanz2B4x0Qou2yIQjxlkP6eC3bTJIszIYSYum95s7cV58VkD5SCOO0cASA5WF0mQpiZkc8WXqrAFyB8E45xc2YizQ5G0suK9HYwweOasOlvmQlUELnifFwrtqigla7VCZKPvATJSNYo+HFlVhhzY84w+ZrQrXF1DhHw1QFxHfMn7KUYPHfTyApGtxKWgwrQTX4LrxfiqSoQDl/wcPKVVnQYy+37o6iXhAUhbO64o7716dBMew39LO03ITJSf4y3Io3rPI/Ce5r1/MBqmMgPl5S5MLpiCDk7dnvCzduALSzS7xW/+4I4N9Pl46MB XD0XheyZ T+UOO9XKJGrLhiYp4jDqbgT95EXTk4OYrw4ZogsenNuSPwjnQqXCG6Dbo3f1yZHFz5zC1ppdwE58HK6unxgqcFjXUcmtrniYNtsMruI2fuupDnuO9a9Mcr16bFLw8a1ZMpKLGxHi7pnAu9ZWiF9Qy+AxqSS90f/2o6wqPYdJ666l52BbK+2V784oE3u2CQ+pgTWNyjFmxx2WJcj2i5Lv+9pS79MdHSqTxqEUEPhAVflEjxwfveUyekbDRpL+7yqXD1aXfaaDYNnHy6T1kpPylHSFo+3gHGrzs/fCYmf05vYV3lEwaXlX2iN9ijXwQ6XCjI5E5tfvEy0vkEzqjAtjDeF4dCW/D4LZY0nhpQ6jiWooenzN6BsuSjjLDRtu3qptqXdDMW4xSteUeyr6QsOyQQsBv9r2kZnCPQbfS/7tPMa8pjXXCMVhPXPGZuiK7BfdJBTi95mK0MUyYFGplkBQIS+AHrMCD6fXz9DW2g94tvlT3Nr7nYJ3felpSmALL8R2yfUbK2bE9tCNLWavTpAAkwmABPuzmFX+VfXArvkG0YiUGEv72B+wDhp3NjNxH5BXR0RuL44hzMz1rD97Rvn23pJzdVvWUMKcI2UcH/peIszNCyEkgZGHHzrmSIFzDWfJKFKV41kkjwxhCdKPBxh5XDW7toBoAKAN2NWNu3QoWkWQ44l8E9Krze9TnH16aRFUW3qSfzgoINV4TYFj0o7gJTt+JA4UsvC9rYUX94aFa5QPZu1+V5Q6DFfAKImt0L87+/cbySGdV5jOQ28I= 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 5/22/2025 5:29 PM, David Hildenbrand wrote: > On 22.05.25 12:01, Baolin Wang wrote: >> >> >> On 2025/5/22 17:34, Shivank Garg wrote: >>> folio_mapcount() checks folio_test_large() before proceeding to >>> folio_large_mapcount(), but there exists a race window where a folio >>> could be split between these checks which triggered the >>> VM_WARN_ON_FOLIO(!folio_test_large(folio), folio) in >>> folio_large_mapcount(). >>> >>> Take a temporary folio reference in hpage_collapse_scan_file() to prevent >>> races with concurrent folio splitting/freeing. This prevent potential >>> incorrect large folio detection. >>> >>> Reported-by: syzbot+2b99589e33edbe9475ca@syzkaller.appspotmail.com >>> Closes: https://lore.kernel.org/all/6828470d.a70a0220.38f255.000c.GAE@google.com >>> Fixes: 05c5323b2a34 ("mm: track mapcount of large folios in single value") >>> Suggested-by: David Hildenbrand >>> Signed-off-by: Shivank Garg >>> --- >>>    mm/khugepaged.c | 16 ++++++++++++++++ >>>    1 file changed, 16 insertions(+) >>> >>> diff --git a/mm/khugepaged.c b/mm/khugepaged.c >>> index cc945c6ab3bd..6e8902f9d88c 100644 >>> --- a/mm/khugepaged.c >>> +++ b/mm/khugepaged.c >>> @@ -2295,6 +2295,17 @@ static int hpage_collapse_scan_file(struct mm_struct *mm, unsigned long addr, >>>                continue; >>>            } >>>    +        if (!folio_try_get(folio)) { >>> +            xas_reset(&xas); >>> +            continue; >>> +        } >>> + >>> +        if (unlikely(folio != xas_reload(&xas))) { >>> +            folio_put(folio); >>> +            xas_reset(&xas); >>> +            continue; >>> +        } >>> + >>>            if (folio_order(folio) == HPAGE_PMD_ORDER && >>>                folio->index == start) { >>>                /* Maybe PMD-mapped */ >>> @@ -2305,23 +2316,27 @@ static int hpage_collapse_scan_file(struct mm_struct *mm, unsigned long addr, >>>                 * it's safe to skip LRU and refcount checks before >>>                 * returning. >>>                 */ >>> +            folio_put(folio); >>>                break; >>>            } >>>               node = folio_nid(folio); >>>            if (hpage_collapse_scan_abort(node, cc)) { >>>                result = SCAN_SCAN_ABORT; >>> +            folio_put(folio); >>>                break; >>>            } >>>            cc->node_load[node]++; >>>               if (!folio_test_lru(folio)) { >>>                result = SCAN_PAGE_LRU; >>> +            folio_put(folio); >>>                break; >>>            } >>>               if (!is_refcount_suitable(folio)) { >> >> You add a temporary refcnt for the folio, then the >> is_refcount_suitable() will always fail, right? You're right. Good Catch! > Indeed. Would one of our MADV_COLLAPSE selftests catch that? The status of this one test case changed from PASS to SKIP with the patch: ./tools/testing/selftests/mm/uffd-unit-tests Testing minor-collapse on shmem... skipped [reason: MADV_COLLAPSE failed] Userfaults unit tests: pass=65, skip=1, fail=0 (total=66) All test cases in khugepaged.c PASS. In cow.c, Test Case status with or without patch remain unchanged for me. # [RUN] Basic COW after fork() when collapsing after fork() (fully shared) ok 758 # SKIP MADV_COLLAPSE failed: Invalid argument # 1 skipped test(s) detected. Consider enabling relevant config options to improve coverage. # Totals: pass:769 fail:0 xfail:8 xpass:0 skip:1 error:0 > > We should also be converting that code to use folio_expected_ref_count() -- either directly or wrapped in is_refcount_suitable(). > > Likely just here through > > if (folio_expected_ref_count(folio) + 1 != folio_ref_count(folio)) >     ... > This makes sense. Then is_refcount_suitable() will not be needed. Thanks, Shivank