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 05E8ECD4F25 for ; Wed, 4 Sep 2024 20:21:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7ABA16B03A9; Wed, 4 Sep 2024 16:21:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 75A9A6B03AA; Wed, 4 Sep 2024 16:21:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5117C6B03A7; Wed, 4 Sep 2024 16:21:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 258F66B03A1 for ; Wed, 4 Sep 2024 16:21:09 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id AFBCFC12CA for ; Wed, 4 Sep 2024 20:21:08 +0000 (UTC) X-FDA: 82528175016.20.802D495 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf13.hostedemail.com (Postfix) with ESMTP id 3BBC620018 for ; Wed, 4 Sep 2024 20:21:05 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="PTqkcYP/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=gpUYwdne; spf=pass (imf13.hostedemail.com: domain of steven.sistare@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=steven.sistare@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=1725481241; 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=7BEAuCasyGTV9sOIIvvOXZlzh/QlImql4DSXGlYmgmU=; b=JUdfGgKmPylS6Oyr59cUtZ9nDcGUFDD2uZafPOKzmTRjoDsQSZvUZAJdu0Jztqwmwz1UnS rEpW1WtdDDYIWE/20+yszhRbo22nliFSfTOWyeQWQYYyyEMqopD/TdKyonBHCxViwZr5uF 8SwAXL/oFBbob5cIO2YiY6dim6djwMc= ARC-Authentication-Results: i=2; imf13.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b="PTqkcYP/"; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=gpUYwdne; spf=pass (imf13.hostedemail.com: domain of steven.sistare@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=steven.sistare@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=1725481241; a=rsa-sha256; cv=pass; b=lHl9xHJBnn8/sOoWe6bMEWi2ABa7C1pmVA8lFQs3+D/Zig2JQ/k4iGqyepVPbzRHbih4XW rB3fiGJAwvyb/ygaZTqDRb1qzLLzinWj2RdqiN9dLWFSAcLDFe9QtVr5978fJH1pKpTwRB TYvEj57GUXW6e0t8ZelY0IGNeq+YxJ0= 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 484I0Vka031063; Wed, 4 Sep 2024 20:21:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= message-id:date:subject:to:cc:references:from:in-reply-to :content-type:content-transfer-encoding:mime-version; s= corp-2023-11-20; bh=7BEAuCasyGTV9sOIIvvOXZlzh/QlImql4DSXGlYmgmU=; b= PTqkcYP/2qaSLS2h8I1SC1FXnZhXKiE1mMt14tE08mZd8+Zml5tz/13YplAbHIUB 4AX+Gg3KWB13DgcgHdhQGmSID47rAdrZbiSh4Og09hNh3abYaZlhUwmnLGHhXoqc AcAs3YESROARm5AWxjIRAtVTOCHebhHDSH3wwwZHhxg9uxGIQt/bpUJmpw+KHJ36 UXA+TB2lSS3zHRlVg0bSktY7z2Ox+eptGWNA3Bu8XUPb8TNxV9ZpntQxzy5PfYll tS5eeP8EC8Zi7UHKHp01wg+qKkhFuo7/eNv4MWJ7sKY9Iafb7J+aAB2jRABgN4Z+ O/BBuNgboYkJBNyt4x4R8Q== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 41duyj4kkt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Sep 2024 20:21:01 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 484J6TKw023590; Wed, 4 Sep 2024 20:21:00 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 41bsma2pkp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 04 Sep 2024 20:21:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VJwb+hLVU81lrxtNi4G1BIhNAAKLkJrSetqN0gp0X4H0wGSOW8LbtQS8a7+7quzwH4JvlTZMYZWVGAD3rwOwu2thKhlLJiLJixkWoSWnifDgIuVNMrf1JEzRcIJZjrGnN2X4oBn8tcL/Jao8ksMFjfCpVWjgZdkPUc2zV1yJg4HTaKCFEVApp/Ed0ZTqoggCFTDULCV64xnZGYB3GgZ73wKC3aTM0hZuiNE/voFe7CiQNLnQduJacKWMVgQcjSXZuddL+9Mwd2WZJ8pRLiPuGDKOEtec0RdMVGZN6tlmT/3dvsjJwp/8uXp0Rhd+D3kq+cpbJEl+6YYNYL9xEXNYaA== 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=7BEAuCasyGTV9sOIIvvOXZlzh/QlImql4DSXGlYmgmU=; b=uL+ztLT4VI/ci8pZb5z9L7XcBl2W6umK6QX/bkr+4MD8NHnzRa13vMHI6JFPH7Ysmebx6vDzLooxvg6Q1jwULP2hX3Al2QtYla6ZG4biTEJaJqMjUI3deRl+kBr5HkvSTVfsA7xCSbI/hUPhodw0WdLqvYf2HFud3H6RlKFtG3EEGBOYU5628HXc+cPilSWaeQxfVWAwpxRD8FJ8d8Yf2IF6Zo8YHcUcxUps2E4X8vwE6uDfwh2HPCBmIXBjj49wsANyT6lJj/yF8UgbUrUPpqoi7nE1Th1cX6SndU+aQWV4wfGlphp4YK5fxD1tHVVSEzaqDaAcQLeMg2POUKizxg== 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=7BEAuCasyGTV9sOIIvvOXZlzh/QlImql4DSXGlYmgmU=; b=gpUYwdneiJgwwvpzR0dtD1ek5JmqLJMkdficJPa9g3WdhEsorZI12U8K3EEnD7CsfwI2Ivg7r3spFjVatbZIM5Uzgo3FnR3qS/5uKadp1tiJFXVwfNpGMAGX2GD5p+QEK8kyhEYhAP6LW48tWV4NoCwGeaMVcJlD7cbIoYKJNDY= Received: from IA1PR10MB7447.namprd10.prod.outlook.com (2603:10b6:208:44c::10) by BN0PR10MB5127.namprd10.prod.outlook.com (2603:10b6:408:124::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.10; Wed, 4 Sep 2024 20:20:55 +0000 Received: from IA1PR10MB7447.namprd10.prod.outlook.com ([fe80::f2fe:d6c6:70c4:4572]) by IA1PR10MB7447.namprd10.prod.outlook.com ([fe80::f2fe:d6c6:70c4:4572%7]) with mapi id 15.20.7939.010; Wed, 4 Sep 2024 20:20:55 +0000 Message-ID: Date: Wed, 4 Sep 2024 16:20:50 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/hugetlb: simplify refs in memfd_alloc_folio To: Matthew Wilcox Cc: linux-mm@kvack.org, Vivek Kasireddy , Muchun Song , Andrew Morton , Peter Xu , David Hildenbrand , Jason Gunthorpe References: <1725478868-61732-1-git-send-email-steven.sistare@oracle.com> Content-Language: en-US From: Steven Sistare Organization: Oracle Corporation In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BN9PR03CA0405.namprd03.prod.outlook.com (2603:10b6:408:111::20) To IA1PR10MB7447.namprd10.prod.outlook.com (2603:10b6:208:44c::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR10MB7447:EE_|BN0PR10MB5127:EE_ X-MS-Office365-Filtering-Correlation-Id: 7fd9d0ae-9999-4826-418a-08dccd1f1467 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?TXN0ME56WlRGN3JYOTZuVlVVV1dPUlRmd1YwRTNjWG45MVMzdTloSXJpc0hn?= =?utf-8?B?ZVlQK2QzU2Y3WGp3TmVpeHVna2krODBFdjBDZXNRUTRnZFRVd2xvLzBjUUhj?= =?utf-8?B?Vm5BaUxwUDFWc0puYzBMTjV0NnpUeHMwL2ZrVWhETnZWMi9NYi90VEFIRm9h?= =?utf-8?B?dkVEUjI3ZVZVREsrSjlOSHVkcmhjYU5hQ09SZFJKUlBmNE5UcVhGLzJwZ050?= =?utf-8?B?eTNtRzJqaTdIN2pCUnhDbm1yaGxVcjRIa1FMZGxRVGUyR3N4L3VwTGJUdVla?= =?utf-8?B?ejBvVEk5b1QvYXhFcnpWdStLbG1UWjhkTXNkRWsxZ0xpaEZJOHlzY3VXb2pF?= =?utf-8?B?bTVNU2tuelRQcGxGOEpZblZWMGtoMklYSldQSWxXSnpGZS9aejl2K01YS1d6?= =?utf-8?B?QjQ3TzNXc2o4NjFqRXJIUEh0TTRGaXF2YXM3ZmFqVWdRTFh4bFZndlozdjhF?= =?utf-8?B?aWdPVzZIT1lTQ01iNU1QWUMyZTFaMWJSSW04R3BOMHUrSVJXNkhsNkxEQzFn?= =?utf-8?B?MVFvQzI4U2ZoLzBnQnFiVkZCY2JBQ0pIVTU4aWVjZGJqZmNoV2haUFpXeFZQ?= =?utf-8?B?cjZzK3ZiZjRoZTBQRUtFYXQvaER1WGNkR1BOUWtWSHBjU21QamZHUkRjUVpq?= =?utf-8?B?T01hNXFWMm04Sk05U2krblV1ZW9BZmJJVHFpb0x3QkVucEFvTk9HcGM4WkZm?= =?utf-8?B?dWFtQTBsb2wraXNxdWpXOWc0czh2RWpnSWZMWktEV0hmb1lSYmpvbExCZkZB?= =?utf-8?B?RTlqaGlEN0NrNnB5SjBoTEw1VUphVFJkVElXd2I3REFOVk8vak1IRW8xdHRS?= =?utf-8?B?R1E3R20ybjRYRzEzbjNIRm5MRHp0M2dPMzlsR2ZHQ3k1cDZrcGNYQ3lYdFdG?= =?utf-8?B?WTkxZW56UDRtTXhOSU9rZjgvMkJaZXBrRjNXeDBQSDV0dnUvNGJUcjN1NFZ1?= =?utf-8?B?Q2pYT0lBTmxrWDlCSm9PbVMwbnloZDI0eXNzRHlGNmd2SERmY2dOVEtkYm8y?= =?utf-8?B?NFJudXQ5TVUwa2VwVkFIMVo5eE9Qc2RrMkJlTlllNXJGL1hNdFRSNGVsc2Ru?= =?utf-8?B?M283NkQ4SW5uN1NManlVQzlJMk5zWVV3V250aXFWRkszRTVzVGhHcUhxM21l?= =?utf-8?B?WDViZ2ZXRkV3VUxsaVNHZTRVbUYvUHpKbTRLdUlCVkdrYTFseHpBMy8yelJm?= =?utf-8?B?Y3c3T0RaTE9mUG5CMExSZGJpSjVDdFdmWVpqZVU4LzRGOXJ1Z2tBa3ZyVGNu?= =?utf-8?B?QlVNajNKa01Fbkx1THh0eHlBMUJDa2pCY2toSE9UUDUwenkva3paOUVXcDNK?= =?utf-8?B?THZFdU1WMkVkU1hramdRMUExRndST3hpRTRrME9ZUENBSnJvK0kxb1phZGlx?= =?utf-8?B?MmdVOGh0UFRESTdOVlEyakVJby8zSVhJMjg1d1VuNWZHQ012d0lvdktwU0V1?= =?utf-8?B?UkZVTFlUMEJwL0VhNmNIQ3BkcWFrNDQ4bExzcE4raFl0QldtM0F0aGViVXZr?= =?utf-8?B?aXVIMVBPNVhTVmM3aG5pWElKckt4bmVIS2cxcHdsUk5iTEh3UHpkc3NHelQ1?= =?utf-8?B?a3Q1cjRVOHJVUVc4d2RqZ2wrUzd3SkZzRVNDVFk4cnJ1VmE5eDJtUHVYV3lm?= =?utf-8?B?dms1L2dDUHNGQlM5bWZic0ptcm9MVEJqcWZidldXY2lmTXZZSW0xQWZCTGs3?= =?utf-8?B?ellOWVZmVWxnV2FjZXNoWm1VRXdHZmlqQTBlZnQ2bUxOWXZFWmRrOEV3dnVo?= =?utf-8?B?VTBoejZnSkI2aEhPSUpyZnloNGpRYVhvTEhkVUEwNmJCMHJNYWZhRUtVYlBw?= =?utf-8?B?NUl4VVpJY1hHOFp4NnRPQT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR10MB7447.namprd10.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?a2hnQkJHMDlJVkhJWE5HWGp2MjRKTnc3dTNpQ3o2WnlYRXJvUDRxSkE4ZzB4?= =?utf-8?B?bEZJMk5VQWJ6eTYzcnRBV1d6UlkrRXhBQ3VFUktibThOL3Zrb1p0VFNWQ3Q4?= =?utf-8?B?SVBrSDZrZUdxQTFXblFDYTlROERpeEIyM2ZOaW13NmVDcURuVThCY2tqWCtz?= =?utf-8?B?VlZURDZ2VUxRYWsyMit3S2ZyL1NsTElVSi8vbGpjODFseFZxdFZ0Rkh5U3NK?= =?utf-8?B?cldxUVpUNVdiTzdLZm5yMkh5OWJ5c1RsakwrTThYdGJKVHlvZTZUZzg2OWkx?= =?utf-8?B?YVY3NndvSlZmM0E2Ui8wRkJWU1ZiVUZ3bkxMdkV5UTR6M2FiRHNiTHZZV29D?= =?utf-8?B?ZFNWNHpRK3o0NmJwb2RnMERZT0JnS3poMEQzWVNOVkp6dFJVZ2V6NEtjUWNU?= =?utf-8?B?bm9xWTVkUmtveENDcytaeGFIZGR0cHVWMnh4MmJUL0R3N0REbTVmVEwwZHJI?= =?utf-8?B?R2xOZUt2OHU0bUhFc2JzWHVkYkRSQjVRNmUxYzRSWU83NVFQd2JoRTFqc3Iz?= =?utf-8?B?akhmNVlzVExEOUFqdEpUVllId01PZ21Oc0p1ZkdPVk9mSTdidFRsQWxoZm9T?= =?utf-8?B?QXpUdldCUnFNM2swNy9jQlR3eTU4eWNvZjFEdG9Cd1pNckJvclRpQ1RHSG5U?= =?utf-8?B?MTdpOFBLbmNTc21MQ2UrQmJIZVNCYXRVUU8xWGtxYjdaMmRRcFdGYkJnb2RN?= =?utf-8?B?bzBIUWU3VElsbmt4Wi9YMGhXQ21yNjRCdlh0M3h6VCsxQW1nRy96QTduYWNR?= =?utf-8?B?UTY5RjhodlBSSnB1UEZxOTBaa2ZHc3Q5eG1sa0tIUVQyWjhIS1BGU2JHUWtp?= =?utf-8?B?V3FtT25IN0VlWEs5YzBEcnlWVDE4amlJL3c5M2k5TGxQNWJ1d1lKczFkL0VN?= =?utf-8?B?QTE2NUtOSHFUOG9ZWGtSYWtaUDd1eXcvNVE1UFloV2dTUk9sZ0lYTDNWVjI3?= =?utf-8?B?VW5ZaE1VSHJETWZPb2NDSFpiMjU2ODVOalNIc3VyUDcxamowWkE1TFYwUVNI?= =?utf-8?B?MmMzN3E3bFpDdVI2Tzc0Z3QyWWdWaEFUSmMxVFUvYjVTajd5OFpkUHhJcm16?= =?utf-8?B?d05aTlJGZE5WQ0NtTlBINDl6VzM2d2wyUURxd2V1Rm16NEIwdW5HcWc2Tlcr?= =?utf-8?B?bDJHM0dSc2ZKWnJ4SjViRUg2NGlWeTFlc3p2QmcvVSs2SzJPNEpLYWN4c2h6?= =?utf-8?B?VXpnT21rRXhUeVRFb0c5Q2t6aVBDZnZjSUlLMG1GQ3VzVVRFbFJBbDM5TG9R?= =?utf-8?B?RGhXUUdTS1VUR1QzK2RWWEp1Skd1Y1NrL2tvTlhYRFhSbm9VMTZLWWUvVlMz?= =?utf-8?B?ZGJXdlRxb1Q2dTh5M0VHN1BtbU1lS2NiSmdTemRGU0Vyc21ScFFKdlRzMUFi?= =?utf-8?B?NFpiMGV6V2UzcVZoL0R0UlpNekcrTTlOWXJZZUdkbUc4emF1WVhQeVVxU0xu?= =?utf-8?B?NlZCUEE1L0V1cFo2dmJLVWI0c2FxMjF0TG9jWmhWTENFbGJzQXdpc0xNc1I2?= =?utf-8?B?NWtHRlM3cVJ4dElkM0lqVEVDOGMzaDJ0ZUtnSWU4OXM3b1VLMGxVcVNGUjRD?= =?utf-8?B?MklMME42REp6dmhRSHJ5Vm9KQ3pJbStaeDdPcmt4TXEzSjhWQ2I2TzloSUFJ?= =?utf-8?B?aHdud0cxN2RHUk1FK0c2dDIraytLVDNkVTdZaXdjNE9rd3cvMDlIVVpMTXg2?= =?utf-8?B?dVp4enBiVTRlNTFLSXg2K1dJTkRtNnJNaXFBOWdCWk05eHJ2Q0RTdzQ1V1Bv?= =?utf-8?B?V0VJeWF5RW8xeE9uR3E0TTQ0R3NVb1MvN1prZksrZ0Q1bXg4RHZaL1g1Rk5p?= =?utf-8?B?T3RnUjNsT2Nla0pxamZnSkF6YTdzM0FUTGVsa1Q0N2ZFazVrbktxR2FoamdN?= =?utf-8?B?NkZXT1JKZTU4czNRaHNTSHoxV1ZvM3NlNlZhYVlaMHdVMnlyWU1iTkRMQzFr?= =?utf-8?B?c0htNVZhV1FmMGRkbDVSeHdXaE43VU1TQnNoRWEzMzJUd1UrU3ZCZ3FqaCsz?= =?utf-8?B?c3V6bktxSXhaSmd4OWU3WE5xcE1yQ0d6Y0o4NUlqWk5hNjNJZ01ZSFV4YWhK?= =?utf-8?B?WUhxV0R4OStYYUNwNFhqNnpSdm56c1dDeTNQcTZXYVhubHNNb0phV1hEOG0w?= =?utf-8?B?VjhYeWFyMjg5RkptVnk2K0drSzNqaTFFMWRHeXlVUVNrRzVsZ1lrN256b2NH?= =?utf-8?B?U3c9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: d+i8xk2po3Kyyr/tJ88fd3RbzT2WHQGcTo/RkHnlfnPRBFIL7ROFIucAhVig+G1M5SDJoaiSKpr/+T/BI4WkXqBUXRCgDxVTYSkoaEvaIjT3tn4a4vXlxBA6D/4pQfgE/IpXx0pG7wv7Qun/MvQ7DPpNzxw97PO4aDJGtfDiPPQ/62efzwQKxapNe+1c2DMQCd3mSvsdhIDoigSqt+rF/it/MiXuPHmOttpAQkLgWaQDpGIVPz+yE7Ada/JlkAQTsgtBPITHLwJm2t3DzvKHErkg2mkrh9lGvUA3E5SfieqLZkthZGSzAG4a7kgaOImZIXIfCxpvAyMK2ZBV+OMqxmoEaY1Ekkj/Jonlvk6hQG3p690dushAWzaTbXmyTCe3CHfts5BfUqx0acJVBbeMLQSpBs+Zt3DI1T+rW4j6DIZBpxGAUJYy2c6YlLKDorQ4/UeKyKGYRMcodpQN5u3LUHLNwBukFncA+c/IZCALZNq9Bh5LTsZDL3ScsTw/FKCwSfTgTr+z+M4NxAKoYsK8Y5yK5XutcpOlYOtjPMBa81vXAMcuy7JpeC/aMH2tMk7m+zIOI2zUSpHu4YKHurmnVHoaCgv88kOtbio26QTneDQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fd9d0ae-9999-4826-418a-08dccd1f1467 X-MS-Exchange-CrossTenant-AuthSource: IA1PR10MB7447.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2024 20:20:55.1044 (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: keHWCZ84tUHttg3zId91MLDPTMljwYYWW+TLWApt7c4/qMfIKQV5qJSOZhgTy3O/UYTDiM6hJ+JQzrdfHyUzpwHK8lEjYAC9i3BWjGtsjZU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5127 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-04_18,2024-09-04_01,2024-09-02_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 mlxscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000 definitions=main-2409040153 X-Proofpoint-GUID: r9FO9bTySYCRK9BeGGhYsWZxGTPy7CUD X-Proofpoint-ORIG-GUID: r9FO9bTySYCRK9BeGGhYsWZxGTPy7CUD X-Rspam-User: X-Stat-Signature: ziphyb9xdoezskatgqiahhukw9y8kswb X-Rspamd-Queue-Id: 3BBC620018 X-Rspamd-Server: rspam11 X-HE-Tag: 1725481265-957253 X-HE-Meta: U2FsdGVkX19C8Ri/ibBdtU7iaRMyT+ji80xvzD/rQgPUbYwdOpKbAvPPJumzOCgnhSphPZUSjxnU9R5YwPJBCmJGI9xRejA/o4Q2WXaWFZYeFitLbq+vk7/1qBAcSOBeTE1VRwdF1AllWjDx+1mZLIDL7ZhbT/IPE2GY5knUsTEpGueORun8MWHn6ctQQqBaE0+WyVOORucPJuvcCybX5yCh0Oe4COdf1/9fYhHWs4v5pHDmgMTRLNhn0yaGqIlXOwNmWtLi7C25YMTz0XkFvj7bb1jFMaRm0D4amsTxG65x5VKKkuISCuixSYRcA4BYp+YgKtNmRxULA6VPSVjjFoEBYN5AbZaVXZLxXqTEEwy0LLbcECqNQ2ZMQzTgYkLegvYKerH6dGUevSNPdDOqpefj1ERPAShYy6l3iLbtpzjMCmh6liKjgZkLjH7EcHvM4cjEkEDjR5E0e6fNbWB/oiKfW4xodls8FTeGvXdO+pFfaL7wo0/s9noviFarZuFyUjVJkQ3wlYeX/UjcUfHvIn2vugQpOn/Q0lJJCFcEYbXzTQcqiM2mLYoabcJec2Urmq3QTNyb3zYhjSbNfe9rbyw8J8OMUJbNli6n46Hu9rF6b1N7c231WpEy5Vw0mwo9J6l4IJA/12Yf/ArGDHLNBq1SW5d9HpQwkMefjd8Iipm+kQ2cyU5wulrzlURnUU4oPcJZzoHRe6SlyVigsqXA2tN2NMgnzDNNal/9ECJVzdmQR+eqGcRX3NsJolclldiSw2pEymxgLsWf/0nMBH3+iTtxhqjzhOQhTcxomqkm3+RI3p1twxU4pwxWCX47/ejzRzwNpIudywsCICtgzqmCYfpplO3gUAscq6QK0zCWylLK/3jyuv403mnluRBhFdDMOuOU/FTAKuU3KstHMFLrRa2Nwmftw/yqFFXJZ+Rg28MGutajtCgizRU5IM9Klf1BKEK3EBXkc5AYGkBh3s+ hDk8iUYy s7+vpu0ZLZgQ3HwGj1XwVLxk3w7OV6fQnQk3e5B3TXzwRNzk1TvtVhU2Vpk7lfKKXyXkUo4jRLdYOxwCRuDz2zBdjiGQAEOtrDusWNMdQuy36ZGSyq2r6nxSiSrAGCW6QipcJMosm1ImXpYk1gQwdc5ANJOFekK4dYE46ldnlrxMILP246rLrA6SXOuFxH+tMfcvmCS9VWlrzV06YkIgbypRsGh1z/dNlQuJKTqB4oi113+JkTUba2mAbeD2u1BP/q1bt+ycirnoiPJ+z2pcpxEJe45zWUcMCoH1qL2GxMa/xtQBYkQ8VCJ23K0hiKv8EfZ9S0aVV3gLK/fH5f9RkzqCpT8f/h1ebUcTplXRjA3fUO7m2QFZBwYMhV4FLQDpAxpjfLN1K45p6spmul+Wuto9SmeMTUKI7wvzAT4LfnJKlXaA0AFNvBUCh1e7m166c2DGAA1gCs6EvEf47lfsmlbemlV8ZXVmWQ1HMhE/9j+ISpizszGMKQRITGqyx7kvegQknbTW6Aietc2/qnZ9kO6uBhfjs6K7HqF43rP0NKkvQuuFyW99lAq86fi4e+QAP16buZ9iBY506mOvTWpPJj+oI673xS9Sm0Lb/hjPdjmsAPPv6ku8gNXRtHamT+LSugWfSi7rx4KZN81K6O0UM9f/rDaFyVqLcCDsU 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 9/4/2024 4:11 PM, Matthew Wilcox wrote: > On Wed, Sep 04, 2024 at 09:02:59PM +0100, Matthew Wilcox wrote: >> On Wed, Sep 04, 2024 at 12:41:08PM -0700, Steve Sistare wrote: >>> The folio_try_get in memfd_alloc_folio is not necessary. Delete it, and >>> delete the matching folio_put in memfd_pin_folios. This also avoids >>> leaking a ref if the memfd_alloc_folio call to hugetlb_add_to_page_cache >>> fails, which would otherwise need an additional folio_put. This is a >>> continuation of the fix >>> "mm/hugetlb: fix memfd_pin_folios free_huge_pages leak" >> >> I think you're right, but don't we also need to get rid of the >> folio_put() call in the 'if (err)' case after calling >> hugetlb_add_to_page_cache()? > > After scratching my head about this a bit more, I was trying to preserve > the existing semantics of the code, but I think the code was always > buggy. > > The correct code would be: > > folio = alloc_hugetlb_folio_nodemask(...); > folio_put(folio); > > The code as in tree today would trip an assertion: > > VM_BUG_ON_FOLIO(folio_ref_count(folio), folio); > > as alloc_hugetlb_folio_nodemask() returns a folio with a refcount 1, > folio_try_get() would increment it to 2, folio_put() would decrement > it to 1, and so we'd call free_huge_folio() with a refcount of 1. > > But after your patch, the code _is_ still wrong because we'll > start with a refcount of 1, fail to add to the page cache, call > folio_put() which will decrement the refcount to 0 _and call > free_huge_folio() itself_. Then we'll call free_huge_folio() > on an already freed and possibly reallocated folio. Indeed. The explicit call to free_huge_folio must be deleted, as you coded below. I'll send a V2 of the patch. - Steve > So every version suggested so far (current, yours, mine) is wrong, > and the right code looks like: > > folio = alloc_hugetlb_folio_nodemask(...); > if (folio) { > err = hugetlb_add_to_page_cache(...); > if (err) { > folio_put(folio); > return ERR_PTR(err); > } > ... > > Or have I got something wrong in that analysis? > >>> Fixes: 89c1905d9c14 ("mm/gup: introduce memfd_pin_folios() for pinning memfd folios") >>> >>> Suggested-by: Vivek Kasireddy >>> Signed-off-by: Steve Sistare >>> --- >>> mm/gup.c | 4 +--- >>> mm/memfd.c | 2 +- >>> 2 files changed, 2 insertions(+), 4 deletions(-) >>> >>> diff --git a/mm/gup.c b/mm/gup.c >>> index bccabaa..947881ff 100644 >>> --- a/mm/gup.c >>> +++ b/mm/gup.c >>> @@ -3618,7 +3618,7 @@ long memfd_pin_folios(struct file *memfd, loff_t start, loff_t end, >>> pgoff_t start_idx, end_idx, next_idx; >>> struct folio *folio = NULL; >>> struct folio_batch fbatch; >>> - struct hstate *h = NULL; >>> + struct hstate *h; >>> long ret = -EINVAL; >>> >>> if (start < 0 || start > end || !max_folios) >>> @@ -3662,8 +3662,6 @@ long memfd_pin_folios(struct file *memfd, loff_t start, loff_t end, >>> &fbatch); >>> if (folio) { >>> folio_put(folio); >>> - if (h) >>> - folio_put(folio); >>> folio = NULL; >>> } >>> >>> diff --git a/mm/memfd.c b/mm/memfd.c >>> index bcb131d..f715301 100644 >>> --- a/mm/memfd.c >>> +++ b/mm/memfd.c >>> @@ -89,7 +89,7 @@ struct folio *memfd_alloc_folio(struct file *memfd, pgoff_t idx) >>> numa_node_id(), >>> NULL, >>> gfp_mask); >>> - if (folio && folio_try_get(folio)) { >>> + if (folio) { >>> err = hugetlb_add_to_page_cache(folio, >>> memfd->f_mapping, >>> idx); >>> -- >>> 1.8.3.1 >>> >>