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 7F383CD37B5 for ; Wed, 4 Sep 2024 01:04:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EA34A8D0204; Tue, 3 Sep 2024 21:04:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E50C88D01E4; Tue, 3 Sep 2024 21:04:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C7BE78D0204; Tue, 3 Sep 2024 21:04:48 -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 AA4E68D01E4 for ; Tue, 3 Sep 2024 21:04:48 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 34A52160BFE for ; Wed, 4 Sep 2024 01:04:48 +0000 (UTC) X-FDA: 82525261056.03.AEEDD3A Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by imf01.hostedemail.com (Postfix) with ESMTP id 38B8F40004 for ; Wed, 4 Sep 2024 01:04:43 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=FJX66Vay; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf01.hostedemail.com: domain of vivek.kasireddy@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725411788; 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=DlU7B8UO8o1v85NGyfyOMbXqsuYqLB5k+xTfbtohOKU=; b=cH9/MoqZNZKPY5jbcXdlmkhLic7GqsJlrNMS45NLC36zC04LAmzeYVs9amNESHOIxaM6Tb ie1piJd8R7iSzf6hDbZk58EeL2i5vw0u42Tr06D7JbgqZQYnNBPBxFyUMDbVmfGkIKV7Kx Ip9iChQElryLESzNXQ/w4/AM1y4cCYw= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1725411788; a=rsa-sha256; cv=pass; b=5/DW2ga8x6mJrNP3jtd9Pv3fkYj78jnZtB1Hx4pGxet/q0PRtWNRuB5UUbZbgk5LCC61mT HPE40jx1JDjCZGgPLp8N9Wx4DvnxSchhzWsY12uf6XJ8Gu8dE2plM6W0sr+n9lTn2fzKId 2A5MmFEUVj36qRXHSM5F/8/W6DbWxBQ= ARC-Authentication-Results: i=2; imf01.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=FJX66Vay; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf01.hostedemail.com: domain of vivek.kasireddy@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1725411883; x=1756947883; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=lmaisfrUhU/2jNsRbTUnPDZcNl2PoPxSoRiX57TP/QY=; b=FJX66Vaykpsd2iz37wRcHBunyzqv9WdkLAq8ZAWcl1EOFrJCT65U3UGJ La7naYskMmr9Xap8o0rYw9M52kIfSrPnNmGFcJRPixHDZ/Yn31G3tsZZY MXOhdNM6FyOEcMmSl811FjeKypB0D+Sx9ar91fkk6VgdMkx0C/diSlUfN fNs+d9e9TbzZMfwbnrwHgHzL//jKtroEs6dSokm3ZPkA30LHJJijSBQZn XuE0eZ7we8yQkN20w3kI2BTubugb5xUPyBL8Irf7PN1Fyd0RaVZgs7D9q nVMyAzIA/gnT2DbPNCVlLXRS8aIlUWlzqSpozSlsAZw3CkemACRdKmmVs A==; X-CSE-ConnectionGUID: PDgvmiDiSVWYFD1Dze2UFA== X-CSE-MsgGUID: Va3TL1LSQ9Ki0fS+O+iiAQ== X-IronPort-AV: E=McAfee;i="6700,10204,11184"; a="26959378" X-IronPort-AV: E=Sophos;i="6.10,200,1719903600"; d="scan'208";a="26959378" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Sep 2024 18:04:41 -0700 X-CSE-ConnectionGUID: lRT8FGwxTwyRRs/hrU7S1w== X-CSE-MsgGUID: t0sntwhwR+iCqPJSMLBg8g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,200,1719903600"; d="scan'208";a="88339529" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmviesa002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Sep 2024 18:04:41 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep 2024 18:04:41 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 3 Sep 2024 18:04:41 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.40) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 3 Sep 2024 18:04:40 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D7W1FYvUpqmRJtIAfHu0ERPUbhz5js5U5Hr0hirpmF9Zb4ecTRsVHTLtSx3yw+fShXpsr4IPuZFBHwuxW+jPCYpvv1dGrQNxuT1FspcfiDk0xLCSqMggD7Owt+8nRlCFRZo+Mqea4HRlqwDfeopXO02M7sDg48NengTFplOU72IdAWk60jbJTbwp1IYfJs+Ogr99yfM5dfcINLOKHIIi6HL/avFRD/+rOv8VicoCXcF/QGpHifmt7RBQ0oKv50AGrHpGJfleUKT6csXvN+dNWMPi3z4+H3K43IudAzu1QyPYNMnsrEcthf2+5IOEL8QX76dG0S485373SMljzjLfMQ== 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=DlU7B8UO8o1v85NGyfyOMbXqsuYqLB5k+xTfbtohOKU=; b=CFQM47Tr4kdlmdT8Okqf9U1YYBLMGBO3Aih6n88SB7op6ksXwi8+w7Y5g6pIToDwyaYP8MQVPklZok7EumNysjNc6gCM5363OLVJ7YOD5LJyy06E+U03gGZkvG0jfO6PLUu5/nkFVxk2QBIR39yHA0z7p4J8RwtL7ZPZMYHgqGACZrcN+GEsFO6cyQnAfxkJ67CUeqmYokJLRPtYMalE9gQoM8DBC00+s6LqXNtQx7kfRUOSIX0Ug0QHl8IqO6o+mffUXP3E/XIpgzXBXRvUOPKz6MhqBwzZBsvINte/+bSrLkswUG7zTAa9a/wlTZdvzxJOQANEdQpokhhGY8y+vA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from IA0PR11MB7185.namprd11.prod.outlook.com (2603:10b6:208:432::20) by SA1PR11MB8277.namprd11.prod.outlook.com (2603:10b6:806:25a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Wed, 4 Sep 2024 01:04:31 +0000 Received: from IA0PR11MB7185.namprd11.prod.outlook.com ([fe80::dd3b:ce77:841a:722b]) by IA0PR11MB7185.namprd11.prod.outlook.com ([fe80::dd3b:ce77:841a:722b%5]) with mapi id 15.20.7918.024; Wed, 4 Sep 2024 01:04:30 +0000 From: "Kasireddy, Vivek" To: Steve Sistare , "linux-mm@kvack.org" CC: Muchun Song , Andrew Morton , Matthew Wilcox , Peter Xu , David Hildenbrand , Jason Gunthorpe Subject: RE: [PATCH V1 3/5] mm/hugetlb: fix memfd_pin_folios resv_huge_pages leak Thread-Topic: [PATCH V1 3/5] mm/hugetlb: fix memfd_pin_folios resv_huge_pages leak Thread-Index: AQHa/g0uGYzS24AFl0GqwvTH1faulLJGkSgw Date: Wed, 4 Sep 2024 01:04:30 +0000 Message-ID: References: <1725373521-451395-1-git-send-email-steven.sistare@oracle.com> <1725373521-451395-4-git-send-email-steven.sistare@oracle.com> In-Reply-To: <1725373521-451395-4-git-send-email-steven.sistare@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA0PR11MB7185:EE_|SA1PR11MB8277:EE_ x-ms-office365-filtering-correlation-id: 95effb94-6bca-4c0c-05d7-08dccc7d8813 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?52mFgWTO408B+ffDhysdndVgmJrdYSJj87Fbhpfsd9ddhK7O2cm+eueFvi/T?= =?us-ascii?Q?/tlu3FwVJpUep2DYqoFud2nj7KFTGxcyR5n9htr+1EktO+cdPVF2hKxpLqO2?= =?us-ascii?Q?obeIa11lVEi29FunARzgfefZfx4CHc0h0DEwF/q7WP+2k5jIj3wzo5rdd2Pp?= =?us-ascii?Q?/w+X4Of29GgGLZn1CDh0JfoalXSGHEpOHGhnemSAq136XgOY5nncyS9ySsZ7?= =?us-ascii?Q?3jPhkyfYkaAgm0qD1opN8xAXr8+vkK79mRF74B9l0zoFSOLLb+3pUdLq2rLE?= =?us-ascii?Q?wUbyua5de2edO/S14z3p7Pe7YKY9u/3vE67D9FJ1+4nPysSz0vyPbzrm0Iw0?= =?us-ascii?Q?SCkdk7SMu2z12cyToi6pqAPru3jPHbKtwkj+iSxMpicwyX1NKDmqxo2YTlIy?= =?us-ascii?Q?JUmxyDxNuTSdlxAVUZOxJx/sCxGqITi45x6QX6oV2h1flLwrUP41ZYGlmPG4?= =?us-ascii?Q?Zf+9L7Z05OIgBpJJ//ato4R+HCD3d5A4s9EzSPJ6tuGlxw7JX24/dKOx0eR+?= =?us-ascii?Q?OWkpwaEL1HGZfVAzMY0caaeIjoNJ4XarsBNAdVZqyaTbpbwVDJp+S1OVxdAq?= =?us-ascii?Q?lg7+Srs8Fvpiggf9kTP+07vukjPz4uIXJ9M20rh1itikItzaCdOpe6HCM145?= =?us-ascii?Q?i9GJl8FtCsPlMNANeKTETmHdhYQWA6gMbbRmJxQ4fLJNWaKk/kpZNx+A8hjc?= =?us-ascii?Q?Cj9P1ibMgLxNMuqmLZjEcAUiUm1nQN++SpsGWCLqKKfw/rAQA3wqJWiQUPvg?= =?us-ascii?Q?PqSuyp4jHC6+/2F/lPNfT/mrmeribypfn4Ee4NTKxk/GPLF7aQ7RSbfsB3xk?= =?us-ascii?Q?mFRo25iBPNYIUNQpv3/utMePEh8fBxNrpiEN/22R9AV9MTXv9agD+8MIQ/Eb?= =?us-ascii?Q?Jn1tQszOO4x+FUVihVqbPfDvgY38b1Br8dlYZzk/pcuNGSWjGBet+sadPCUm?= =?us-ascii?Q?tTTGTIYQyXMGTXvRBj2W/MWQDjlFRF5wtV6+xB6OCWdN2XOjOWGL6/yzZ8zk?= =?us-ascii?Q?mv6xucU88UZDLvvUnv9XphRG5F6goGuozb0yXHah0hgWnF+FtsiAlJAHdWTB?= =?us-ascii?Q?QFzeHSbjhGgZgi9NuLR7KkDvnKN+tenjIz2FZbGpI6Vokpp9o8xgk8zVXkmX?= =?us-ascii?Q?Q7LeDMCzJd89FvFBihtKk4aQV/tF+asifAvo0a5sNp8H+9/APT0RwRsLL/0Y?= =?us-ascii?Q?46VrVlabhlzHXNZ2FqtcOxwEO1Gj2NMQ+7PtODfgQeyi1Eu9sCvbEc9cM2H3?= =?us-ascii?Q?B0wpWeLHU8TWI7oNQOo24+IhqvEameHlf80HsnEns2mIXztqTOY8bXl7YUd4?= =?us-ascii?Q?gWfo5mbDtyTykTpgCW/FprFm314YFCJlBnJgSM1GAVGit1RdUM8nv3iFHVcn?= =?us-ascii?Q?UZZ/ue/w5XUADItAiWmNeckoKZqHMgbvzjeeFXs5+0vOIzq6JQ=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR11MB7185.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8Rl/HmtyjjruK8EXjyNgZ2QaSM6s6ry7KtHB0xcOPhM/hwPELJRG4IqoF0D3?= =?us-ascii?Q?T1SpEb79VR7PVkx1bwVTGfcBC2NiI781CEo3z1IPB0+0hGq3SaQLu93m+l+L?= =?us-ascii?Q?ULtdns1mcp+v1Apdx0KWxXUXLn5pLTRlJC1Hlk/6UAOrvuCdXqzCCgEKLRGB?= =?us-ascii?Q?m8nq0VK1Qt3fjpJ0GbtZYsCkTLG+VokVDMNhLBkIAU15VTEQFS4Nw32s1SKf?= =?us-ascii?Q?JWEZpKpbXYLly11P0I7W8GmG9CgaCbu67SKOXAuExjQB2As1iiATbWpCySrr?= =?us-ascii?Q?PAUwjPslFfIj3YDNkldeBzCT12K8PD28u4MpBIC2OX+cWfJiBb6a2ELD3jlW?= =?us-ascii?Q?l81IDS4OJlbnFoqNw2HRfM8BbhIjjfaYDjyEuAOT3pdpnqwcxYhVIFpVJLUE?= =?us-ascii?Q?a2IzYLY46rzEKPiV7uSgrwYwcZpRZOUrro3DhPmAwrM/x/u2Q81UdDBBkEHV?= =?us-ascii?Q?e7+6HwYukqU9FhDABE9FYHIE2iB2oosutawg7M9H9JWHpUMtGEv7HDKBsVI9?= =?us-ascii?Q?PWJ7BQr4jUGxXJUdTkLBlFqPf+vWgb4E4DD6kdQ5VcG9uIeLU7fKubAeAaPZ?= =?us-ascii?Q?/49Z4lrl7xUO2xMF93sJdM3GTX8+rNnDk22/3mli60xeBpeBtfkvZyHceCRB?= =?us-ascii?Q?/ytHRUhQVkOdOewi7JrclabIJqXOHxFcUNMWGlxrIwFUlrCHEAVAj+9djEvl?= =?us-ascii?Q?TAsTxNUjcUbaFNlY/viNp2+C7M1byO63k5BuxD0/eKofXGKY0qjno3kHaHcw?= =?us-ascii?Q?8Vvt5NAxIF1jH054brB1VVuQH/jxhaXdhUnTaBx2cpggGFo/8y5dck8oNf3S?= =?us-ascii?Q?HOTVXeJ6ZMBElPvwLwJiKQLWbhPLbSG5W0/2QhF6zZFvTQbN70mhFKXIopF4?= =?us-ascii?Q?oB6im+AZ75t/krai2XersnqD7/iK98MwPixLlgKF8583CzJFGZ6UZcdb739w?= =?us-ascii?Q?HeukjVoda4gzpsH04lwectpLJ1QNi7dyXakV4VCD30hkPHVCp5gYWyVYhrN9?= =?us-ascii?Q?jL6GMPwy11z1YXsUCKdS5NgRAaIgMwalpoiH6IP7nXfTJkvxE7h/hCQL1HHz?= =?us-ascii?Q?tzzy05sogT9QaS+ytcu+8HQ8T1A+OIecIF2r2CSxrNmpewpyPRDFyfWYXJnK?= =?us-ascii?Q?6YvJySLwBHFUzK1MjlOerpb+qrCyEw4VoN1ucLxbLPsUhLy8Xmd8gjaICDPx?= =?us-ascii?Q?ifA71q/GQUmRuSQ7vOotbchdsuNw32AcSeJpx7EtoM9f0IdC4ZBmeELq/v1t?= =?us-ascii?Q?RWe1M8g0UG4nC/EfKBIcEy/uh7pYsybVURgxXmSYEjxxiJkdgnYQtnGVy10Q?= =?us-ascii?Q?owDTOd3qyb1boIscD9+PIddzdkmP2HJpJD5hWVRbMqn7dDkn05zkjQaddoqZ?= =?us-ascii?Q?WZJpL9CzYHo7acDKEJ3OV3tnSPu1a3wcu8GwIEUeFoE561elgmd0DNwjbLK2?= =?us-ascii?Q?2uFxdLMp9fKSu0ifCGdMAkF7U8YQgVEFF+Hwzm4rndYa1vHSpAgz/gMdBNyu?= =?us-ascii?Q?dre9jQ75D6S9ipXkNhgZMxgyBI/VLryhL2qxUPNK6K63W7QoqKOTCKW9Ds7l?= =?us-ascii?Q?AKLPdkEjc+kByAVxVm1neqr0heS7F1NJkzLwj2jv?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA0PR11MB7185.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95effb94-6bca-4c0c-05d7-08dccc7d8813 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Sep 2024 01:04:30.4813 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rSqMTCeYW5jhegbZTmel2ebyTW72VS7lIE2zYUUg5Bi6eRsO0wnGWr50JGsMeiNpZ/Oh4cH91gWp5cB9uciWleieUSwYu6HsVmWUzYiJYdM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8277 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 38B8F40004 X-Stat-Signature: h8ri4gu7axosig956hxcznijbx7mwc6t X-HE-Tag: 1725411883-819483 X-HE-Meta: U2FsdGVkX1+AMBm7Jf5xIW7jsyP2J0EwHFGR+sVk8HVT3h4A7nArsr7r0j5rs+NkqVtjL/hEzU9PnWs7bLQwfsyfiJefGoBO9FvA1NzsJ2hG2wSGv1CMLeyjnJGr7uh31484yPWbx3UNwI4WX+TYFqCf/n7saX+IpLUxrCeU00WXpCQ648Az0y1Y8Qz8z1jOdo8230DSdb4tPUmmJgYkfG7SMmYoDxuWuEEMNcX6fWr4kfC4i0CjDZegxb4Xcxd9X03jo659XdklNOUNjJ0LakpG03nMNdktpojXUR0r761gaoUYsiL0+Osf5cjPr+XhEhwscNboNTzDzFbPz445US24FT604fCR3upwzqK3JttVStunHK77S5BaxYA65E1BMXhKH3TDlPZr4b2F3/zfH3NYlQv+vEQmRqXCSSEf/LW0W0rG0FmCasN/gp9+ALd9ooEOwvWrxXogk30sZ8IWY8AanUWcaxES9i79pALCAITvn1e38nahQs69/R/qrTY+y/MUj2c2+g+KlUJJ1VGSgfXSv1/eCkChtnUvp9LTFNrSBvuVNwu/56jykUouYfAwgnau34crKQcY5mQp3xN+pdbAaYhexndEZ6WcBdXVJ7G6Bk3Oka2+3k3j1pa3JnVIQGW6sijYn+Hyd/e3uj7+pA0FydpweefJzoLhNjwh+l7pOOLSslwH04XAfEQZrBtEdoSSsAv8lxABnf0LijVdzOM73vWGICyU5CT2DTKX8ULCd7zsUDZHwZKPmp8H0vSdYNwgRgmmUCDvdr8XSyI0+hP8qvcrJjqC9moMrGLNOGKowTxmqH6oZtZk3u92ZusI29zrpe56XwnMA5h4WN6sXELyDvndR3ihKS2Pqke/15nFYYUS5dxVIVVga9f1Qw0UisTXU25IPlgzQXAvMsrcAbzKPuAcAWkGavkBZWgvO94urDc7Hd49aU7fETeH2JY4plD9B5FtLB8N/UaHhYb iICdBD0W Ulv/JL8Kwg0jLmkgrIlLFImsFGJFXqwr4MVeeV3IA6Q/bu1EJYi6H0T/lZWTsmZDHxen6+9GmWuhMyxNOyvs1zwcuiOhR7dPdV8a47ZpcuH+sl2Znr7Uowk4aL7g5yUJ/JBLoBjYgu3iOtLYMXRarrlvHVJ4TKHLifpSVqxIbNRxvzpNZMJ0Qklq8a6iUZpXytypkjooAsSKxz1FbDbxrHsFuWKte6Fg9pMxf271EhDws817pRs6RpsRx4kOvepcMRFwhwhDfftiKa8qJrPrtKJrbnkb9KqAStS3Zvj3YkpCwYMFjh+9vkFKnyz+RPKubwc2v2VATLlxAkWIZrJeZM54DyylD+FUPryi+XEN3KAkmc/jhYQQev51FqsDhs+YMgDQqBtNWwATz8s3tkmSU9trrDqujSrLSWgOIZooJkyfDeYAMlXXxBh8nz6aS+xnSM9v9uMw5Y0lRMGqI95cXev+Ge9viO1b7A3zb+TbL8xWTE6WYWbhxJli6x4eH01en034ZlouAkDVsxjCM9KQhFWt78w== 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: Hi Steve, > Subject: [PATCH V1 3/5] mm/hugetlb: fix memfd_pin_folios resv_huge_pages > leak >=20 > memfd_pin_folios followed by unpin_folios leaves resv_huge_pages > elevated > if the pages were not already faulted in. During a normal page fault, > resv_huge_pages is consumed here: >=20 > hugetlb_fault() > alloc_hugetlb_folio() > dequeue_hugetlb_folio_vma() > dequeue_hugetlb_folio_nodemask() > dequeue_hugetlb_folio_node_exact() > free_huge_pages-- > resv_huge_pages-- >=20 > During memfd_pin_folios, the page is created by calling > alloc_hugetlb_folio_nodemask instead of alloc_hugetlb_folio, and > resv_huge_pages is not modified: >=20 > memfd_alloc_folio() > alloc_hugetlb_folio_nodemask() > dequeue_hugetlb_folio_nodemask() > dequeue_hugetlb_folio_node_exact() > free_huge_pages-- >=20 > alloc_hugetlb_folio_nodemask has other callers that must not modify > resv_huge_pages. Therefore, to fix, define an alternate version of > alloc_hugetlb_folio_nodemask for this call site that adjusts > resv_huge_pages. >=20 > Fixes: 89c1905d9c14 ("mm/gup: introduce memfd_pin_folios() for pinning > memfd folios") >=20 > Signed-off-by: Steve Sistare > --- > include/linux/hugetlb.h | 10 ++++++++++ > mm/hugetlb.c | 17 +++++++++++++++++ > mm/memfd.c | 9 ++++----- > 3 files changed, 31 insertions(+), 5 deletions(-) >=20 > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > index 45bf05a..3ddd69b 100644 > --- a/include/linux/hugetlb.h > +++ b/include/linux/hugetlb.h > @@ -695,6 +695,9 @@ struct folio *alloc_hugetlb_folio(struct > vm_area_struct *vma, > struct folio *alloc_hugetlb_folio_nodemask(struct hstate *h, int > preferred_nid, > nodemask_t *nmask, gfp_t gfp_mask, > bool allow_alloc_fallback); > +struct folio *alloc_hugetlb_folio_reserve(struct hstate *h, int preferre= d_nid, > + nodemask_t *nmask, gfp_t > gfp_mask); > + > int hugetlb_add_to_page_cache(struct folio *folio, struct address_space > *mapping, > pgoff_t idx); > void restore_reserve_on_error(struct hstate *h, struct vm_area_struct > *vma, > @@ -1062,6 +1065,13 @@ static inline struct folio > *alloc_hugetlb_folio(struct vm_area_struct *vma, > } >=20 > static inline struct folio * > +alloc_hugetlb_folio_reserve(struct hstate *h, int preferred_nid, > + nodemask_t *nmask, gfp_t gfp_mask) > +{ > + return NULL; > +} > + > +static inline struct folio * > alloc_hugetlb_folio_nodemask(struct hstate *h, int preferred_nid, > nodemask_t *nmask, gfp_t gfp_mask, > bool allow_alloc_fallback) > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index aaf508b..c2d44a1 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -2564,6 +2564,23 @@ struct folio > *alloc_buddy_hugetlb_folio_with_mpol(struct hstate *h, > return folio; > } >=20 > +struct folio *alloc_hugetlb_folio_reserve(struct hstate *h, int preferre= d_nid, > + nodemask_t *nmask, gfp_t gfp_mask) > +{ > + struct folio *folio; > + > + spin_lock_irq(&hugetlb_lock); > + folio =3D dequeue_hugetlb_folio_nodemask(h, gfp_mask, > preferred_nid, I am assuming a check for available_huge_pages(h) before calling dequeue would be redundant as it would simply return NULL if no huge pages are available? Acked-by: Vivek Kasireddy Thanks, Vivek > + nmask); > + if (folio) { > + VM_BUG_ON(!h->resv_huge_pages); > + h->resv_huge_pages--; > + } > + > + spin_unlock_irq(&hugetlb_lock); > + return folio; > +} > + > /* folio migration callback function */ > struct folio *alloc_hugetlb_folio_nodemask(struct hstate *h, int > preferred_nid, > nodemask_t *nmask, gfp_t gfp_mask, bool > allow_alloc_fallback) > diff --git a/mm/memfd.c b/mm/memfd.c > index e7b7c52..bfe0e71 100644 > --- a/mm/memfd.c > +++ b/mm/memfd.c > @@ -82,11 +82,10 @@ struct folio *memfd_alloc_folio(struct file *memfd, > pgoff_t idx) > gfp_mask =3D htlb_alloc_mask(hstate_file(memfd)); > gfp_mask &=3D ~(__GFP_HIGHMEM | __GFP_MOVABLE); >=20 > - folio =3D alloc_hugetlb_folio_nodemask(hstate_file(memfd), > - numa_node_id(), > - NULL, > - gfp_mask, > - false); > + folio =3D alloc_hugetlb_folio_reserve(hstate_file(memfd), > + numa_node_id(), > + NULL, > + gfp_mask); > if (folio && folio_try_get(folio)) { > err =3D hugetlb_add_to_page_cache(folio, > memfd->f_mapping, > -- > 1.8.3.1