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 4A358D3F2BE for ; Fri, 18 Oct 2024 22:16:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CD54D6B00A1; Fri, 18 Oct 2024 18:16:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C5DB76B00A8; Fri, 18 Oct 2024 18:16:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AAFF26B00AA; Fri, 18 Oct 2024 18:16:31 -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 88D1C6B00A1 for ; Fri, 18 Oct 2024 18:16:31 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A0497402C5 for ; Fri, 18 Oct 2024 22:16:22 +0000 (UTC) X-FDA: 82688132646.05.B3AC9D7 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2084.outbound.protection.outlook.com [40.107.93.84]) by imf30.hostedemail.com (Postfix) with ESMTP id 0E3888000A for ; Fri, 18 Oct 2024 22:16:04 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=NGR0h0Kf; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf30.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.93.84 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729289641; 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=uMVNnai3zVEIkrXTxFGmxkAkRtY47leUybvigTzomH8=; b=ocM4/p6VZFQdikCoN4jkllW9NhDm2/1CdsvhGAhNxkEa/vxS0IJoNFr7O8J2A6WPSNXgsc 2t3BYmPCgw2SGAqruaDjEJb34q8Jqsr/5IkP8s0EHum3+wXVrsBAZf/6PR8Z1Lf23eUJ8i LCDK+StiyR4EReW0hPhemc9QI5LXLxs= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1729289641; a=rsa-sha256; cv=pass; b=cpoIpdeQxDgb8MQjiC9zMnjx6KlurL4LRiqWiDq7e7B7K+1j7oUne2yjv+KscDO0bXw8LI x0Da0unPWL+mMtLOAONdIcOkx0plFaubZZhmh/MmNoIsp71j6cACx5X21mUQVOsnwEw0Jq u4RNqMRvj0N8A7UBD8ZGZ1cLJNc+kh0= ARC-Authentication-Results: i=2; imf30.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=NGR0h0Kf; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf30.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.93.84 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mYUm6W8GYJd3sXt5fW6ZEDggmVwLSEtSt8lpS9NLJOOZr+8K4JrTl0YEGgCFVojKTCZoeG5ATlfV9F7L1zW0cQLFaB8vdcr3R0Rqyhl6tWPP3F8zu8PMZphUamJSS4jxvll2ji+8JdfZ9W8EX7/TjJKu58PCYCKp8zooBmcF5Sa4MoahvUJer8V7WseZv8XgzoZL5wHojjWxCcs+M59OapJ56ORBHuTFQBwUcaA7jp6Dwko9mZe0iAJauDSOZewa1PS9Fvqa8SAfIwuCUNL/ROOYw2YunwgZZnUYmPANh49g/ffJmuanGwwnNjdgW2KHVc/QPm2RTDu2JogCShCB8g== 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=uMVNnai3zVEIkrXTxFGmxkAkRtY47leUybvigTzomH8=; b=arEk0DJ/vn9L2EwTUpqCfmlbNhgmeklLyXw8CucJ+eFIv5GpYiD2YCiwmt/kQflXeHYTF7rZrySPxQ+Qc/mhv4FXgC4Uqx20s9TvyvEc/Z90Rx4wEnxteQYm8C/qlqLG8iMXeiwCD7Xs3De1VwMhEqCHWJCAu6BJ3SNWBLhoHKjbJ004BMuawUsdXIWuyX1zABGpJPCQ6qoisukfjQq5jnNoNaLduEJvLBbsYsKk1ZqJjfcIHTmuAAa66Ed5iIZ9fETf/7ahhthWmFTWdGxoiV0iaRQz4ArSYt1hV3cSkDUvKyfLmfItmSKNoImm86GtqdwwXelBOH0RGXJwhc8q+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=linux-foundation.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uMVNnai3zVEIkrXTxFGmxkAkRtY47leUybvigTzomH8=; b=NGR0h0KfpjbIPHG7cf7tIV2kutzdPXeoAhtINKQpfHgeGYYj0k1nVpIsE6llWzVYoM0nK7dO22ryLc0itS2QAIWaEJavEO5NjSD1tuXuBXIpWod9SEbX/LXDAIvfYSxBvYiuS5h3sZFpTMA8mnyrRrUYeb+8VGSZCYfqOY0epzNZwO1tETj46po91OkPaiZ2QakEWc6Mvzfatot4QmtvnICMOYfrSNgv0r6ZqN/d3hAGNMiPOcwMp6Bn6ZFpDXE/YzPuPcct0PjQJoFlCpUv7qpS/RbbKdCe/9IlZPGRKWUtzQgbc82DK259RPvtIxr3SSS2i8SIb13fg/U+AjU4Ug== Received: from MN0PR03CA0008.namprd03.prod.outlook.com (2603:10b6:208:52f::15) by MN0PR12MB6246.namprd12.prod.outlook.com (2603:10b6:208:3c2::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.19; Fri, 18 Oct 2024 22:16:23 +0000 Received: from BL02EPF00021F6D.namprd02.prod.outlook.com (2603:10b6:208:52f:cafe::5f) by MN0PR03CA0008.outlook.office365.com (2603:10b6:208:52f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.24 via Frontend Transport; Fri, 18 Oct 2024 22:16:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BL02EPF00021F6D.mail.protection.outlook.com (10.167.249.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.17 via Frontend Transport; Fri, 18 Oct 2024 22:16:22 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 18 Oct 2024 15:16:04 -0700 Received: from [10.110.48.28] (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 18 Oct 2024 15:16:03 -0700 Message-ID: <691ae680-b8c0-400e-b2ad-f3d43057f350@nvidia.com> Date: Fri, 18 Oct 2024 15:16:02 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 0/2] mm/gup: stop leaking pinned pages in low memory conditions To: Andrew Morton CC: LKML , , "Matthew Wilcox (Oracle)" , Alistair Popple , "Arnd Bergmann" , Christoph Hellwig , "Daniel Vetter" , Dave Airlie , "David Hildenbrand" , Dongwon Kim , "Gerd Hoffmann" , Hugh Dickins , "Jason Gunthorpe" , Junxiao Chang , "Mike Kravetz" , Minchan Kim , "Oscar Salvador" , Pasha Tatashin , Peter Xu , Shigeru Yoshida , "Vivek Kasireddy" References: <20241018011711.183642-1-jhubbard@nvidia.com> <20241018151322.6dd3e6ccbbe73599f70179d4@linux-foundation.org> Content-Language: en-US From: John Hubbard In-Reply-To: <20241018151322.6dd3e6ccbbe73599f70179d4@linux-foundation.org> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6D:EE_|MN0PR12MB6246:EE_ X-MS-Office365-Filtering-Correlation-Id: 57a5edeb-8c6c-4b0b-e1eb-08dcefc28002 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|7416014|376014|82310400026; X-Microsoft-Antispam-Message-Info: =?utf-8?B?a2VIbm1WRXlEeElJNFV2WmhWWHVuV04rY3JmNk9oN3BFdldmZkwwWExSUEhR?= =?utf-8?B?N1FvTlBpdjdWbXZ4TjY4azVSK1g4eUg0czRLdVR3QlhKdVRFZk5wSk9ERkEz?= =?utf-8?B?YmFsMUVNakdLbWNSbFBEV1AvQ1ZWK1dQN1lMaWtMcXJ0UXJXZkxhbDdxWTZ3?= =?utf-8?B?SnFFVmNvS3hNU1c1RTlkNWZXbDh4S1dpdGJxeFVyRjdJaTcza2J1SEJVRXpO?= =?utf-8?B?d1hpQTFYaUhrem1VNERhdU1BdXBQWjRsaTdsZnpwSisrVDRpd2tnS0Q5c0U1?= =?utf-8?B?TlFoZzhpbURtYzRtRyt3WTgwQkg1NUx5azJUdFRuNTA5anM4aTVKMzRYM1R6?= =?utf-8?B?VEtkdVVNOGtaTzBtUUZXNjNpR2xMUWppNld2bWpjcnJQczRDL3BtejJBNzg2?= =?utf-8?B?aU5Nelh3NzJoQy95bnI5ZTlHcGNGdVJxeGRROVFWN2N4dnIzcVl5anZHbFJ2?= =?utf-8?B?dnVhZnc3NSt4czZVemZxMCtrT3BOdUF0TjBiOWZoUmFCU0V5THc3WVNycC93?= =?utf-8?B?emREVEVzYWVmSGc3eG9yMGRGaTd2ck41RWdPaFgvVC8yR0twSy8zU2xESCtt?= =?utf-8?B?TnQ0NzJRbUZSYnpSN2pRK0FEdmJ1SXI0dE5EME9uNk56bjZXWkJ5Y3hZdlhF?= =?utf-8?B?K2hwYVQvRlRnZ0RxSGRQdGl5S0pPWGJEU25yVmVqS1AydWU4ZmYwVmRwbWJK?= =?utf-8?B?NnRONE9LeWllSDJMcGhmMk9DVkF5SWhmeFFEQk93MW1vZ3Z6THNvb0VSZXk5?= =?utf-8?B?cEdIbmFPN0JXSWc2WWRIZmNVVGRWbm12cW1OeE8vYWRvOUZ3bGV6bnNsYmNV?= =?utf-8?B?SzFNeTRDdGpLT3NpSXJLS05ucy9ZWjZxMG1MQ0ZESHIvVGhBVTFZRHI4ZkQ3?= =?utf-8?B?ZXRLckdwN2xIZjBSWXlMcjRoNUdVYUYrdXl4bGpvRnRUcEdOL3VweGVxUzdZ?= =?utf-8?B?UW1DdFJJejV0T3dHMWxIVTRQTkdXMG9aNzJ6MzQxU0lRdzVKeHUxV29NODg3?= =?utf-8?B?bW9qSU56dHU3TU0xSytqSXJiMGVrVFBtclIrR3QvZHNOZEN4dmN5S1BhcTZW?= =?utf-8?B?U2lXQzhxdkNHd3VlYWRTRDdrTE4wZk01WWRmQTgxYnVHVzkyZTZ2ejU2cUwv?= =?utf-8?B?dnNWeG1KL3RMdms0QlMwVWViZncvQ3ZVbUpRZ1J4Rkp4MlowcmhRL0xxSlJC?= =?utf-8?B?Ym9uaWNaR1JjQjZReWtzMlN2bTNPQ0RhY0FndlVVVEUzN0RseUJDNHd3VzAz?= =?utf-8?B?eWV2M1NLUHdkZjF6MGI4dTAwQ2lPVnJQa3VGV3d5TUkybzlFcnEwaUJTc04y?= =?utf-8?B?M08yWXpHSWF3azA1RTM5bHpDZmZ2eThQV09NZmZ6cXo4MHBwQ1U0cElpcHhH?= =?utf-8?B?d0NCakZydjJkVng1clBYOGdNOU84OGxGSjB2MU53WTkwbkNnRGZRRS9yUGRs?= =?utf-8?B?eXRaM1BEaGlIQVdNMnJiZkcxUVV3RkVWSEk2YzZzWU9IcmNYTWx6Z0F1Z2pv?= =?utf-8?B?VCtCU1NjaytiZkREQjZVb2ZubkgvL3hheC9pc0xkMDdDMkNEbHd5cXFna3Bm?= =?utf-8?B?cVUrS3ZPcGVyaHdFbEFOaXBKV1N4TkExVEx0MWRMY3dQdnJnS0JNY0dkb3hF?= =?utf-8?B?SXBuUkUwM01VZ1Vkb3NBN2tUeSt2N1QreXl1L1ZiMjZ1S2txTG5BNVBaaExM?= =?utf-8?B?ZjNieThSd0ZqdnYrNFZpTlpQL3JhMlF3aDJyd3I3dkhPQ2lIYkNDbEZpVExr?= =?utf-8?B?VEpRaHFvWVJ2bUNFbzd5TlVueTZ6enZBNG9jY2Z6WEN6U2ZaMklTaDlVT1B4?= =?utf-8?B?MHFHeE9VVWhNYjBZZnlnam1kT2VncDVuY2xQNHgzZ2JETG9RUDYzVjhWUUVV?= =?utf-8?B?YW85b081d28yTWpubFp3MURDNTBZQTFNNVo4dEplVkc4SWc9PQ==?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2024 22:16:22.8259 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 57a5edeb-8c6c-4b0b-e1eb-08dcefc28002 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00021F6D.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6246 X-Rspamd-Queue-Id: 0E3888000A X-Stat-Signature: bt8djuuunwsois5r6i7u9pkw3oh1gcyz X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1729289764-591765 X-HE-Meta: U2FsdGVkX1/LUoAuzGE4nYEfqe43qaNyaDLJzGZdnSiyyEJazWx0C+wjfxCxxyASDFh7+hd3LVuu3yRE+eq9j6lCcRd3uxea5Zi3vaoOfZI5Yl72GfYtZf9Ayoq7tvUo2RAS8lmETXta9dIlA0Pv1+R5yL7C/Y1k1Qy29wZRrTOKLS041dCx9Xcy/a0B0dimXRCcq7jeY9UR0bkiHo2RjK9Y1q3LCLaXML6e3xBgzrP0P9qG8WSr9vo+9/T9xCawi9Ov6EPwN80QNDnzxzU78i03TP2k+Mh1eOyXidgJMzd7xd/oM/z2ZhKGINhrrMqvYjMM1RF7tyRY5cIuFXjoNISWeT6CfcVyuN7Ted/Ko8I3gAXcpiZvm0sNDWQtyovcG1D070AWTDtZfN1t1AwcjRaO5fTsdn6BWB0JygOM/PUmT5ta4vCkE4IYupLNk8jSUnO+TF84X7Q20TCEk+Fn3TIqsX56/ySSgyxN7dF2nfTfGEFIBEEjamfQ0g1KaKCb9N6OOrQdXSVt7SXEUriKAvQq/DqgnUa/orKyuCg9DZKrnLirY1c594huqaRxsOEEPQDfCLcRlXHkCvQzNPCIxKnd6keqVzBApFcpvKVF76EE2GdGyi6cR2P9+o8TIUalF5/40e8DKkMw025WdGLeymZuYcFsZi/qr6G5KoJPUD0je9mwoJowhfZ/f79BsfZw4esf0cQLtAU4USMGcMSknTCh5POglC2r5HqGm/syhxuEjtADFtnTJcH8E8UrRhD4VFiMWIkhqsxNIOM0z7DrXiDUSZMh2GMOFoyUdvkweIJl2gF5CEtQ5XuSTnbv9TEO1cBFtflF6cz6BqepPf8aZtQlU18hXEKkq0BcFnXKyAzf2uSq4i3ebjW7cg4vFumsTTbCR9PB+Xdv6O3bite6TAB/YrPtvfTeY52s8UpSkS7iOf8P5EHWRXIJdCAS1ReWD2uiOtdn5lISBg77Xeg +Hz4eGUj pFKcfmsdDy58kZhrphh6Qz/sEM5wC6s9SY0s7C+YzpvbC8NnQ3TtZIZdkHy2RNUfQeNLgOyozfA6nrzkgGnXzESZ7TDkCCVA89bDDyzIphzcW90jBv07aPCGBt9+WabAK3lEw7vXeC/sUdaHOLI48uAEPqBubfsXSmtZ0OYasltye2kfZRf7m+iA/V5Un/SwE6OLU8Ds9wBVd3YkU/mtxcGGwFQl3zzMrtaJJIKSEpUOiF3E5LBRA6U+lb3CC6whqCXTXIPr0F6l2XtsBOZaDyPLklUz/yqc3BGK38uvXiOP1YhcYjNfX2wt/OEQ7Oljp6Mz/RB3GqM54oX/oIas8qLbSLEo5gLU8WZKsVFVHhJ7itLVDl5w/2kCxMb0fy8wVPIOEFjvENNT3kkrFHZgA1ZrgkdFV+oKVxyc5CpmPL98zoaRSbXzf9jnenQ== 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 10/18/24 3:13 PM, Andrew Morton wrote: > On Thu, 17 Oct 2024 18:17:09 -0700 John Hubbard wrote: > > I added cc:stable to both of these. Which might be inappropriate since > "patch #2 is not really required". Right. > >> mm/gup: stop leaking pinned pages in low memory conditions > > Fixes: 24a95998e9ba ("mm/gup.c: simplify and fix check_and_migrate_movable_pages() return codes") > > In mainline since v6.1! > >> mm/gup: memfd: stop leaking pinned pages in low memory conditions > > Fixes: 89c1905d9c14 ("mm/gup: introduce memfd_pin_folios() for pinning memfd folios") > > Since v6.11. > > > So these are quite independent fixes. Kernels 6.1.x ... 6.10.x will > have the first patch and not the second. That's presumably an untested > combination, fingers crossed. > Probably fine. > Ah, I'm actually about to send out v3 in a moment, which only has one patch, whose diffs are just comment changes, plus David's latest suggestion: static long check_and_migrate_movable_pages(unsigned long nr_pages, struct page **pages) @@ -2437,8 +2440,10 @@ static long check_and_migrate_movable_pages(unsigned long nr_pages, long i, ret; folios = kmalloc_array(nr_pages, sizeof(*folios), GFP_KERNEL); - if (!folios) + if (!folios) { + unpin_user_pages(pages, nr_pages); return -ENOMEM; + } for (i = 0; i < nr_pages; i++) folios[i] = page_folio(pages[i]); thanks, -- John Hubbard