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 161F7CD37B7 for ; Wed, 4 Sep 2024 00:46:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A23E08D0201; Tue, 3 Sep 2024 20:46:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9D41C8D01E4; Tue, 3 Sep 2024 20:46:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 826B38D0201; Tue, 3 Sep 2024 20:46:03 -0400 (EDT) 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 63D8B8D01E4 for ; Tue, 3 Sep 2024 20:46:03 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id D6F6C1C2C03 for ; Wed, 4 Sep 2024 00:46:02 +0000 (UTC) X-FDA: 82525213764.07.756C106 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) by imf03.hostedemail.com (Postfix) with ESMTP id 7CEB520015 for ; Wed, 4 Sep 2024 00:45:58 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="Zjz/FiNU"; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf03.hostedemail.com: domain of vivek.kasireddy@intel.com designates 198.175.65.15 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1725410689; a=rsa-sha256; cv=pass; b=uGdepToL0ca8xYuNiMDQSX/zoijs/Ub8cwPFUpU42CZuQDXGCHPfMx343sbSgJBu1TI6wo qkJvDCUPAcetgiEyzgG7J1sAk1jb1+qealXwPPwTEoEbezNutMyFBuBcLbaXYWLLu9glyp jodIetVAR/I/qsOQr7osJAYo3xorUv4= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="Zjz/FiNU"; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf03.hostedemail.com: domain of vivek.kasireddy@intel.com designates 198.175.65.15 as permitted sender) smtp.mailfrom=vivek.kasireddy@intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725410689; 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=KCLMjIypfsAxoTS2NsdxxMTNDtY3PsvjvHo7ZN4OxqI=; b=h3qTHscyiV11awk4JqqWAf0RBwFEBzQUUXeByjkyOFca+FCHFR3sKsHEAsIcgV6yPR8433 tKMwlSGRJQS1FankJXA3EGs8QeW2+49S//z2CenMr32VdhK3iBG5nJXghtHjKJ5aLbmTlL dml8Xkb70uCfNsj6r+tjOosQy1ZzrqA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1725410759; x=1756946759; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jSLCv+ovyydLqc+vOr2L/a6/TffGOsvaOgj08tRmJAw=; b=Zjz/FiNUqGQXxqYZO30kQaHMQ/e7AxqMkY1CZGWF+4y3LH1zbv+yniU5 hXixZ9m23vTp6hTl1uFoC1X53z0aTbCLEJo7bDzarFhIxIKZHnxOPR9w9 S0EsEUSoi2k3LhnUlOE6wCYjVG6rFyyW/ay1rgDDR4ekWgjQa8fXcWncj DJYDE5Ook/TC2l9Va8Vl7Qox4gONEBrRcdVETEvS+rxYK7lWIjplI1sV2 j2Y9OEvzTFF7fc39Uw9f2mDx0NifHH2stj5IaCwwjljTDLztW9WxVzeaV kXehahZKIkdRR10P0JwDf8L+LBLV9fb9F7sJSkdZCGD0A5i3aFyaM1wqr g==; X-CSE-ConnectionGUID: Hc+Ura49R121KVrF3NHOTQ== X-CSE-MsgGUID: xz+2awgQRySSVlnDVW9H/g== X-IronPort-AV: E=McAfee;i="6700,10204,11184"; a="27797940" X-IronPort-AV: E=Sophos;i="6.10,200,1719903600"; d="scan'208";a="27797940" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Sep 2024 17:45:57 -0700 X-CSE-ConnectionGUID: 0LCnGgn9QLe1SrSxjIDwJQ== X-CSE-MsgGUID: Cm38DYO2T7uqEu7WW2kkUA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,200,1719903600"; d="scan'208";a="69725975" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa004.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Sep 2024 17:45:56 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) 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 17:45:56 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX611.amr.corp.intel.com (10.22.229.24) 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 17:45:55 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx603.amr.corp.intel.com (10.22.229.16) 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 17:45:55 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.40) by edgegateway.intel.com (134.134.137.100) 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 17:45:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mbohXLxtac3lveUrHoqz6w1Y/7cImJze4Ska4op2R7FJS8sfLbdRg4wNswq/ZwEjHouKHmvJKrWSfdwX4OE2lpzgBd2+wtUZuWmfGP6DjvEbotuf0xyIn/EDyzEA50tRVFqYsGHhYTFPjPNfPP+nKMy5cOONRicv79v1UW3mQsxdHIg6XuMcdpwunmpmTJULNQOgaPKK+ucrIUBAmwdFrYdE1nmy+NDbXQmV3YHQp8STJJryera5yvFuQwtceW4mfLxSoA0OUvdO3XJxGOm1/GZqBSytA2n3pDoI+X/MDGEsVz/KBgGp5FgV9dNSL0YtCU7QaiQdVb3zRJSkE2GL8g== 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=KCLMjIypfsAxoTS2NsdxxMTNDtY3PsvjvHo7ZN4OxqI=; b=M8TTYfMft5xqXVY3E1GlIHZcuKWgLfuxjd8PzK6glFUGfqVIjWiZQjg3mtpPN+541Y1q9g/YVkQbn4UaUckzQkmTt4cJTZDK7CgJgesNQ1o4z03FrwJA7mKXTDexhTAKzdg5D65udsJpu/X2O18W2wNf2QnPyRgxmWDL/SILSKx6882xTR/7p7C0eSD8jbY756H2rQhsVYTVtj8SORdgtK7wzDM+XyishU0nZIm57qk4a1n1LFk7EGzxz9dhzh507tw8Y6GuYBxl3LXc2AlV7Jh1ysX9jQObPTVXOmnrk50bNU7HlcXdFd9rUf1gNhE4SQKeNNq2tgx3tj7VX0Mu0Q== 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 SA1PR11MB6613.namprd11.prod.outlook.com (2603:10b6:806:254::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Wed, 4 Sep 2024 00:45:49 +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 00:45:46 +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 2/5] mm/hugetlb: fix memfd_pin_folios free_huge_pages leak Thread-Topic: [PATCH V1 2/5] mm/hugetlb: fix memfd_pin_folios free_huge_pages leak Thread-Index: AQHa/g0teRMAamb7U06PT6JUK7SjTrJGjaHQ Date: Wed, 4 Sep 2024 00:45:46 +0000 Message-ID: References: <1725373521-451395-1-git-send-email-steven.sistare@oracle.com> <1725373521-451395-3-git-send-email-steven.sistare@oracle.com> In-Reply-To: <1725373521-451395-3-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_|SA1PR11MB6613:EE_ x-ms-office365-filtering-correlation-id: e154e731-29c7-451f-496c-08dccc7aea1e 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?VSuXzwsZwi2/HtWNj1We88J55eUImsjjIf+HY3fod/yP0xnkzSuFADzj4Vbc?= =?us-ascii?Q?WSqt9Mrji7GNJC0S2D2bGfpCbu1i5b0iaWXlwoi4y7VnzcWe38iSDoDZAMSI?= =?us-ascii?Q?EOf6KCgtwoHeV5XAzfZeu00JdMkrYBlaYm6W6RbXjog7yxLKpytqD5bB2ZJY?= =?us-ascii?Q?IxOHqbNgFz7xMtWOcHn5WbWWAmKXs3EGy1k4SC8MeFWQTco0aA+bELWnnG7Z?= =?us-ascii?Q?PB465hcwe0LEYYAcpnZov+L4JzynzA/OCtAtVViND91DBX+juy4yAyoguW/g?= =?us-ascii?Q?5wyEdEhMPd9nZ6Gz65RkWa/s0IweSrhcOQzhRHtapztn/oNXgqGYnkeeHpcW?= =?us-ascii?Q?gNzM2LQxAJP3l/T6Dlum1tq+4ISfM1m4slD0b+uex8G2mmaU8Q2d6mbh7DmO?= =?us-ascii?Q?wI50SwXPhFnVnnWGUOjJtWFh9sbRRh0jlEhRXiJmtdrWCpW1yDk5VWar5/qi?= =?us-ascii?Q?t/fCaimEkCzeE/PJgx+U6Cs6IrfTt2ZuMOqQDdhPbjqIFrvH53Qs1LNCVfYz?= =?us-ascii?Q?KI/trphfA8p8DB7CpItMV4azswsSJ8w6kvKr06yKn7epLhwc7H8VFNlagBl8?= =?us-ascii?Q?r9GKNUHE5v4oNmQsJqQM46vjyhhRZYqefrP2B9lKtmZ9Gpz78E/kxMrSMGjp?= =?us-ascii?Q?9qPbnhE1B7Q7ZeqPaV4LOEAvOOcFKeWnBoUSZ8CVsrcmihkrKbUD6yyLqGEx?= =?us-ascii?Q?/aVuXK4F5aN8fM1nH9PvC/qX2vWJvd6LggYKRjpXjDF3kdCxGlEeDdPcqptj?= =?us-ascii?Q?4Jt6Dtl+E4DjyXpj0jNXqCpESuVfxeJOH00OOP5C5zsBZyzszTNF8WEiEYDS?= =?us-ascii?Q?9c9X6VDhL9eAflA5rNGDR9FRePTQfGXMfq/fQBuS12cffHIKD22Ddwpb0sVi?= =?us-ascii?Q?+hwSB4TSgErHFQyJ5EMhPdmlBQetM2E0JMyjQoh5VQJsZRbZDFrfSv/bDTM5?= =?us-ascii?Q?CHwn87jb+CTnihwdVsOCF42jmyCFLadX1XgaDvoeNQjcLKx9rySkMG2ZQ7CF?= =?us-ascii?Q?8rotQyeiIRFnUZHrPk+w6//G65yGJT7Je27bjjq2RwOCQJrqJEUwetmcMzO+?= =?us-ascii?Q?eI/1VdnTc8Iksn3LZbk03mJmQbqXFjgiQjfUeqkL+FoTKBnCXVbt9RQwJqyI?= =?us-ascii?Q?JeFuluNJHWpVu9S3PoGnXnNebW/8CqpK+QL82Lb5TFAmSwCwUd2X1cYYyLfy?= =?us-ascii?Q?V5teeKhq9ydlpchf89ilggoqhGjNkINrQ2W3LQpkjvgJDW1B9btDg9lOkaqj?= =?us-ascii?Q?QT7GYQAjal7pIZZ913qqDCNiLhkkx78W6+vgd+qCW9ONoK1RRYzNHhSea0dg?= =?us-ascii?Q?zGpIQ9sqgNM/sl5rYmY8Gp++LqAsN3IIP5TNpXG5uCN/Pq8HnWmIaB/Rf+ux?= =?us-ascii?Q?FY1niws/loimgJwS+lBJ1L4Eeolzd/lKdAY6d1QQO2OOZgyFGQ=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?tZg4O5Bc7r+CyrDZO9GjqwC6U8WdANqjKgNUiVBTujZlkRW8G/agDFp0qcTV?= =?us-ascii?Q?HaGWrZr7DDTQ/u1O3AqWFJV9DYQ3poAIfjTA1AJWrXf0/z6xP1/sP5SlgMiu?= =?us-ascii?Q?ocgeP4isX8a/vysBMPgoEu+OFZmnwNYdeQeW1vPjbz6LZbn1O85O4mYDM85p?= =?us-ascii?Q?KjYtsekDG5ydApoAg+Ski76wYm64ZxHxsKw9o7QFO78pTE1c01yGKOQVEhaO?= =?us-ascii?Q?GMWcGwzVWOavwfrkkte4pK4KJWsDz568rQi9yBx1ni0lTrmQiHBz4n7kWvc3?= =?us-ascii?Q?m9eelFaBtUkB/B04mqytmqJS8iHLXhcLgQv8MRBhlZT71AbDlI69B26hflzw?= =?us-ascii?Q?pBpHTdIPQisvKTBBMf74Ir/DAk7jK1KdPhf5UA1irq1nRDpUCc2Vpc2n6K8F?= =?us-ascii?Q?J3sfBoOwJxxv9A/983xgUnbheWhzr0nfbtulKvyCpJBcu+yNmRDq/fAINYf6?= =?us-ascii?Q?S3wR5RCYKRKn20VJcg+Y4qGHZIQHJumyGXk94bDfU4SHaKvMPsrdGIlfVHHy?= =?us-ascii?Q?hXeivzPoP0VuP9/1OoyVxYlOthiE5fjSpqyJQywe8p8nSjVaCigstdAu2p5K?= =?us-ascii?Q?r6GUsbGdonXbppl5GEKp6SwqSH+Ya/eHzpSisuGmxNMq6z1SHGlr0JnM6Rz/?= =?us-ascii?Q?wUwAxupNnKnrjXJ18D0KwVgaKAvjPf6nXZcXpcf0Al6IUJYuLoCo2vevkaM9?= =?us-ascii?Q?NXKO18X6Wo9R7HJKGBzEFhx+zvqvAJT6keQu9Bpi0He14ZCuhGpXA2d2zpcs?= =?us-ascii?Q?CVoHj5gBmUyY1bGVwY0FC0gAAgknXDRdMjrnz+bP6k+5D3mQ/Xx+C6znwsH6?= =?us-ascii?Q?qXez5dpsbuMuGHPwpu3yfHB1L4fq2BoRcAcux5yP1KWYLQGD7i6IFRfu0/ao?= =?us-ascii?Q?p4CpQmGnSrr7qG/qVtii5m2VTZ1gF8qiTXLV9gZ+lVnng7SpLhqXl8A95FgV?= =?us-ascii?Q?Wd8G2bjzrpwsK5jt505nz+Pf7xKYxClOCnCEHAfk0/4KmPT8fJLwT0Ef7frb?= =?us-ascii?Q?BICZokFE/66KEkBIcmQ1rEz9UVmLLPjG/WXbfNqJAzW+6XwQV9Bfo8rTfdq5?= =?us-ascii?Q?jMU+/ucaJcxmRrklhbHCdIvqKZfx9fDXdTiLC8w2vsRf6L2u83qPtLCbhfgf?= =?us-ascii?Q?m4zPfvMi85enE9CgGFu08+xHAq6ptbzehhQOSqI8KS5MVecNKIYh2l4xArSB?= =?us-ascii?Q?a56MJzkz4BoeUKXUsLLB5f8HRVTT1zjzpS+HX8uKNS3rsD7qF2twlv+8G8V/?= =?us-ascii?Q?NrM9YRuKRM/Dz3ojlLmyzpcIwk6IYcWmUlDlxT3GVzrh+htRGRJkJqewW1t/?= =?us-ascii?Q?WQsEOY8iCEn2Elz/8mbVBRNRd+WpypV1Brwsn5Z8msFlAlV67rqYX0oIvc6j?= =?us-ascii?Q?tQ4uTryRPrsaZJtg/zN5rRw1jDSiHElwVMWdGbqAWxSYFHCu/TpFY5bpmEWU?= =?us-ascii?Q?hTE/quWzLx0m5x/wZXZHzXgTRdJkM/VYN9kGbmsPBDG/2hni7YpPvJ5K7UbF?= =?us-ascii?Q?qrMobsTckCc7ACBL8gm14+Ft8+M5AdMJ/3/DhEVP95LAGeOc4OedCTz9MGRs?= =?us-ascii?Q?rSY6BQi0yJDEzeisQi0zOPW4nm6RzruU32cjpSUi?= 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: e154e731-29c7-451f-496c-08dccc7aea1e X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Sep 2024 00:45:46.5333 (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: wMZFEYXtdRxGEleqLJIU8pITJ0vrmnwFK1rOINqRNmpvOQQKYBJd8X3wOzY3wWBbIPpk3AaE2s0bAm7GQVS1kF5OWzZD1aQtokVBlSFdNuE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6613 X-OriginatorOrg: intel.com X-Rspamd-Queue-Id: 7CEB520015 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: dgnhu5g14n8s66by3yju8r5bdyisj7a8 X-HE-Tag: 1725410758-418395 X-HE-Meta: U2FsdGVkX19JQR+0Lh1ZRu+IuAAhAIhQE22brYnUWM2LF4Q3U7uhaEJqAJTfKihMe2aq7aa+t/5UXZ1BHeKSWPH7/CaQRE6DCIJDfvo8rJj0A0W/pdeBJNOhE3IdulBGIgSjAZWPmcRfidU202jFrPRCCJf0FycF5qmxlLhifeK7KsTZzuxdQDprNvNEAV4nGxaJsojiopORUiIs7ZpONh9g8Ec+pL1wAqcPfzdk9RcelRAaf6FofbdTr6KnQeQKK8vCTaXU5ntTjwRMkN7+4l4BKhJa4HZ6JRGxzBtVUzoVCepJDyjt4E9DRcb5O6LISNIJG628VjiBCBZIgI4np0KNg2Ua+id5JDgHLJJO83iV6Hi2ENmushuB+wT5xSfpSnLkHyNgsAIeHhglZKGtV1XhGV/owJaarJSMCd6zJQFDSqwjQ3eoUNprVn9m87pXlJYCXaFjd9QQuzIg9PwKSKUNtWVAjOjQO00PEvvjBRiDpaRm50yl8kY+L9bSFVqjgG1RMrQv7V+HQ6x0yR4/eanH9oYvJYcl/LOAL1wQ3GAn7JiNmVSDOmO9cspWmX0xNMhl+gncOAZjfG7UEN+fWt7LUll9eRRLHhS0lLhh6vrB2reRs1ajChMFktPgewaIt5S6zsoJ1AMBK2WupbzkUaIij75Y3WfR3Iszfe2JuQ3UbstU+ZPm5CWCEr3Jbr95Q7SZg5ITLrJxn1ld1wA1hIjnCKeVTF1EPojeSJFlDh+CwmGVu6hIMIWvm2Mm8RFme0A2g7kZphgENjXtZgf6n1NErcgIm0zZ6DaDKpWhGo17kND/TlpKc8ZW7jK4bijGTT9Xmlt+tMaQIDq7+qOWKysZPY/A0K3GkKVkwARmomCCL7iBGXlXMJy4+PLioILsb/ETOQi11UhmjdR9zRs5FRLs1GOBWr0RTDP9cg+zpXYBGe8dkQZ61s4noj2Fpn1Uyi4tYW2645ZzC8aZHRP 2QwsJySy 9sCGQfY5w480XN9u15i1WYgc4UPU3oVsqF/+s0fuibB/rW4NWHaHDC1FC7UQtyiysSWGvUYyn77A0Kthii2Efgn2kUFjuxvvLGRdVumTqS6/Xf7akHAgjfavpQvCMif7K617kXpkqnV45PmQq+lhGSR4O+yliNdwh4XjplxGCSLgYakiSFCSYUOJsD/9OrJbZpJ69eZYDdebWrXbCKiImVY5cf+0js17TnChKrpidKVw/GNe+S5xPF3wpf+qN7HwlVkFGjmvVvUAjw4iEmFyHOPdlmgXT0r7eH7KWfcJHaRP+DlNkGuT7/pWOFD2L3+Wv/W4DS1flUiqq78KUXk03f7qVmyOtkpNIZZ3gJQekIEV4Lr14Ia7QU2cVu7SU1zpJaSJod/9ZtFiYOkg6OBwk+1VB7r74uTG9mvsINqASKUp8IVu+GQ7MR4dfGCktmgkHg4FEvDjoiJJ6PU/3dtJ26hIKNxEj5FLJq0kFW7PQnjdz/IeWNGhABVdTDLJ41dfMx18ayalH+Z7rQTdaeHiEqIY18g== 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 2/5] mm/hugetlb: fix memfd_pin_folios free_huge_pages > leak >=20 > memfd_pin_folios followed by unpin_folios fails to restore > free_huge_pages if the pages were not already faulted in, because the > folio refcount for pages created by memfd_alloc_folio never goes to 0. > memfd_pin_folios needs another folio_put to undo the folio_try_get > below: >=20 > memfd_alloc_folio() > alloc_hugetlb_folio_nodemask() > dequeue_hugetlb_folio_nodemask() > dequeue_hugetlb_folio_node_exact() > folio_ref_unfreeze(folio, 1); ; adds 1 refcount > folio_try_get() ; adds 1 refcount I wonder if it is more optimal to skip the folio_try_get() above. I think it (folio_try_get) was probably added because I didn't realize that alloc_hugetlb_folio_nodemask() already adds a reference. > hugetlb_add_to_page_cache() ; adds 512 refcount (on x86) >=20 > With the fix, after memfd_pin_folios + unpin_folios, the refcount for > the (unfaulted) page is 512, which is correct, as the refcount for a > faulted unpinned page is 513. >=20 > Fixes: 89c1905d9c14 ("mm/gup: introduce memfd_pin_folios() for pinning > memfd folios") >=20 > Signed-off-by: Steve Sistare > --- > mm/gup.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) >=20 > diff --git a/mm/gup.c b/mm/gup.c > index 54d0dc3..5b92f1d 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 =3D NULL; > struct folio_batch fbatch; > - struct hstate *h; > + struct hstate *h =3D NULL; > long ret =3D -EINVAL; >=20 > if (start < 0 || start > end || !max_folios) > @@ -3662,6 +3662,8 @@ long memfd_pin_folios(struct file *memfd, loff_t > start, loff_t end, > &fbatch); > if (folio) { > folio_put(folio); > + if (h) > + folio_put(folio); If we stick with this change, I guess there needs to be an additional folio_put() in memfd_alloc_folio() as well if adding the folio to the page cache fails. Acked-by: Vivek Kasireddy Thanks, Vivek > folio =3D NULL; > } >=20 > -- > 1.8.3.1