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 6AA07C54EE9 for ; Wed, 7 Sep 2022 19:30:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 932386B0072; Wed, 7 Sep 2022 15:30:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8B95E8D0002; Wed, 7 Sep 2022 15:30:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E4216B0074; Wed, 7 Sep 2022 15:30:30 -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 57FF16B0072 for ; Wed, 7 Sep 2022 15:30:30 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2B037408CE for ; Wed, 7 Sep 2022 19:30:30 +0000 (UTC) X-FDA: 79886281020.11.A893F65 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2045.outbound.protection.outlook.com [40.107.223.45]) by imf16.hostedemail.com (Postfix) with ESMTP id A5BA018007C for ; Wed, 7 Sep 2022 19:30:28 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EpGIt5yTY7DuEiNGJT22K+FwNlox931Np3gTe7e+Wh/aeiVqBC11BJZ4Ez9ES/E3LKY4PjaXQBpD/CQQBfi8fKnRgr4Ie92UANlpZxHRbD3wnGJHGZU2hnUZlsMoPMipqPSlHYZ4XeBRrO0W6PuT/IQXzAGJvsZeRyaq4WrINEbkenB+LQdZL+coLR9nB8e9X1AH8TDCQjeii776QZocWFgreekoLHlcBM3r4fu0NqpS6XtyVYieO50D/JomR8mQ37mh67vnx/fLlQXfuDgiDEmUVqb7K5u5/ecz0sPdBpVJgctkGrUtQXLiOo/H+1YDobutpYHHPflvx6oGv1z+Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=0D2IL4VT5OxeY13hSJy9sKXeJEY3kME5TtvDf2cIkUw=; b=ZhHr2pCd/YGHIQ9EFIiv14J65Y4jlnJQJFqG0PR6ijeURv1WA3MqUaxKDeABjY05JNaz4J9IpXTAV/iipj/elD5R7OJ/nWdu0CC7N0Qtlv5yE9T9+QocRV6o9cRHj/P9psivY/SPjuZvirOAxrrojQkD3tFK9JlFb1VCUxLFOAt5qo12L3aM7Vt4cJRqaoDelmQ95zZ+VAYtcqqrsoQe7R2rVRRRi9Ugpuhe/8kWbyaVG+z1jBkHcYNA9RNbeDh82e6A6MxKyczltniWBongWYtkhsvzcurqMV23rV5Y0tozboj0PIho1K1JYecdZyQCd3uuroSlc4OKcxkcNDWKxg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=0D2IL4VT5OxeY13hSJy9sKXeJEY3kME5TtvDf2cIkUw=; b=GF1ZnabSZe0L+WzSh+qhcC6wjZe1VHwfAJJ+7pclVmtfw7dgKqlDUZ+PoeiIGFzC1UhOvLqzLdN00oyqX2XwPvZxSr5JnOrKCw/uZV3syUMpSJMGtLNvDmABkVvZTW54mkExelWpAr8XOvmiBhurdkw65k6pQBP2sknYY81k/dshvz2DvAq6FOp1bWPt5s5od/4MkRgW/uT7VU40tBGVCR3+KL1P7SwQpFHO+8Zzei8P71YleUXJjhALpT48MjEgi+GhwcU0M1vxPFiF/al7cGwAfOT4m3fyPWxh/6C/NpSSwIwDOHVpc8bTW5IEbyzxHmg1nG9pL8ltsYiHlCrtCw== Received: from MN2PR12MB4192.namprd12.prod.outlook.com (2603:10b6:208:1d5::15) by BY5PR12MB4052.namprd12.prod.outlook.com (2603:10b6:a03:209::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 7 Sep 2022 19:30:25 +0000 Received: from MN2PR12MB4192.namprd12.prod.outlook.com ([fe80::462:7fe:f04f:d0d5]) by MN2PR12MB4192.namprd12.prod.outlook.com ([fe80::462:7fe:f04f:d0d5%7]) with mapi id 15.20.5588.018; Wed, 7 Sep 2022 19:30:25 +0000 Date: Wed, 7 Sep 2022 16:30:24 -0300 From: Jason Gunthorpe To: Dan Williams Cc: akpm@linux-foundation.org, Jan Kara , Christoph Hellwig , "Darrick J. Wong" , John Hubbard , Matthew Wilcox , linux-mm@kvack.org, nvdimm@lists.linux.dev, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH 00/13] Fix the DAX-gup mistake Message-ID: References: <6317821d1c465_166f29417@dwillia2-xfh.jf.intel.com.notmuch> <631793709f2d3_166f29415@dwillia2-xfh.jf.intel.com.notmuch> <6317a26d3e1ed_166f2946e@dwillia2-xfh.jf.intel.com.notmuch> <6317ebde620ec_166f29466@dwillia2-xfh.jf.intel.com.notmuch> <6318d07fa17e7_166f29495@dwillia2-xfh.jf.intel.com.notmuch> <6318e66861c87_166f294f1@dwillia2-xfh.jf.intel.com.notmuch> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6318e66861c87_166f294f1@dwillia2-xfh.jf.intel.com.notmuch> X-ClientProxiedBy: BL1PR13CA0272.namprd13.prod.outlook.com (2603:10b6:208:2bc::7) To MN2PR12MB4192.namprd12.prod.outlook.com (2603:10b6:208:1d5::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 367f3b2e-3383-4b67-3b93-08da910769b6 X-MS-TrafficTypeDiagnostic: BY5PR12MB4052:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ixFIBq7K/0DtRAaWkVp+B7grMJQSA19gK5NiE7NjKphrdBLjSSlgSiGHKvd1SIySopWMscv+lvqIVw2FS4dfNrdk4/tTIVbMRbef24adoF/3ECIh10VL5YocqoDntpLPwNqYLmZk3m6GnSf1SySZbnT39T3CDFpM2YL+tK791AKdWr0mfkvVi2HTzTWPC2CpLcwkNpQgyAtg0NSP1o+lhK21MjvtWWn4mZtF+BolgVqrgwrv9+zF5n4Qo6+vMhci5n3uP1Ma5DynnzZE3OV5O/59WDMNCyKZTqpfS3C++pqPkqyejZVPb49fdmkILNvFEZqMhVof9o04cj013j03qmFqt78vRx7M7mAIBJNA7neC1AT3ZZYoC5hpYCS1iAtMyqyo5QEacq8tddPaJzzjcqFgaDT4VXEb5X3vNYZR3LPaDApWSmJsZVKWmZWIb8EkzkKc8VOfdj4bmkGHfnZcT1n0f3nkZ6FIjNofFVELS66L6hSaiZofkD7ft/h/+CSJasnOjnJzvAgmaxl8QtUHhyhQkHlRegh/Y/gX0XPDJMpUG3iqF69EhKontRla/TimgxXcsRkJRYf2upXh5G3iENdbWjfpbeQ8tToSLHTj0XlQ/svU9/cY4ri6rTEH1heliSGaABxtbhxLehynSvBwGrm2fgcRdm6GcCYcKJ9LAf4C/D/kg/GB8IrQmeOIEVmY7wILkClxsXV2hYj3NRHmhQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB4192.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(39860400002)(376002)(136003)(346002)(396003)(8676002)(86362001)(4326008)(66476007)(316002)(66556008)(66946007)(36756003)(8936002)(83380400001)(6506007)(186003)(41300700001)(38100700002)(6486002)(478600001)(26005)(6916009)(2906002)(6512007)(2616005)(54906003)(5660300002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JRdzssDcoMiHXQd86LLNPGyKHJn7ydvDUPWTDNrmHeo4nlF8U1Mj9wVaByXb?= =?us-ascii?Q?g6oep5c/qJjvSRKetEQy38gy3RxiObIm0aq2majgSi2fIsVjAXf3IBt3rtbw?= =?us-ascii?Q?m1RbNIdCf8QIa5ZOL8+cPtoWkDEE9hsJegQGIGMU04zUYnH1x8jezWUO0ZTH?= =?us-ascii?Q?GcXCH6AH+7MGtVl5y28Si3aCxIOl4mk8gyw62GV1WAK7mZkn1sS+zq0yHXxI?= =?us-ascii?Q?NLe2w6Y0qBaTyzDPR9QbHOa0Zv9gJkxT03UEo6Rq3YBl1ZqngghvJEGq1Shl?= =?us-ascii?Q?nYVblZwjwoz0xr4DmWowD4PKkn4jUADAHLjHvIiJRWVHx7aMmemgTJHP2xKz?= =?us-ascii?Q?E7SN12Ee9zttMphqiWyqBW0F3Bm6zdy9WUAErxz8Fa7gByeulPQMQOk7bV22?= =?us-ascii?Q?p3xqUegaxogikjyPQ6YUShrX5trcwChHY2urHM3rr08OgVPlD/Jb8PYA1jW3?= =?us-ascii?Q?F2nWsNWfeu+9FMhY7ukPLOlgRvaLk9EE58M63ATih0jopkKJUyXt6quG5jBG?= =?us-ascii?Q?Ma2eDOEdRQKrcdAhLpfH0ME9XfyR/NB2F8PEEd4f9vC8XeM3hNtVd2mAltdE?= =?us-ascii?Q?LiL9dbS+2fWbNMHQeDqsZhx35t50Z1so2eLvtrjxoIDpj+w/eWkB+BrTzQlv?= =?us-ascii?Q?6ISEHU1RdKCfm0SGrcSPEmvprx2Fe5pfoiJNkJdGSXbCSMUwLEWciLC8xoeV?= =?us-ascii?Q?kQCQGawAxL0Z6MJBJVNjD8NqAKG+U89i2UpbndXTnavJ3XxCipbtWG42gVFY?= =?us-ascii?Q?jNP7mOSIGuvO4TBPKlZo322ztCz8cmhMYxWwnITzyXqqTR1L1lraOCHXG8Qe?= =?us-ascii?Q?IE5NeKZFvEwP19fv2QRsLf1Qm6NQoXSadHbdrtaK4VEe2hu5k2F8S9p7U05W?= =?us-ascii?Q?WEXgpu43lTUqm6+Pq+ja1p7rQxHJp7tn3ijK/bx5pb7MPyi0/5R9HjJWK1C7?= =?us-ascii?Q?d33vd/t2kOpKCZX1I4a4IWNmg2waHrRRQzEgfo/1QwilHS+4HWZJwbiHyGxb?= =?us-ascii?Q?BEOwgoG5z/2+zCtJlqUY1jvpC62RVBN6WXKKdngfFp7SQ9zS4H88mpRKkNst?= =?us-ascii?Q?mbZvFle+Wb6UywFKP+Ukc/ONgJaR4v0i2DL2IvCfRBYFY5jblK2YzSi+Dqm0?= =?us-ascii?Q?EqIH1Y7vKiMOrKooTYHxrHJYasDdK8smHiSOE17ZUMH0iyWCQII6eyS6WAN0?= =?us-ascii?Q?fO1tcfnBpzNEp+xO2trItak+WaQeFVvXA4SfmvyBuuEy24/d7ituE3r/feyi?= =?us-ascii?Q?u5bRf+egSg0skvRPgEcF0/whSBNV2gpuAYDVc9LMFUKky43qw4JIrb113GJm?= =?us-ascii?Q?RfAdizkh2xAFmULCLRJrFwnvTmSedsuAnYeeZa0DK2qhPhzq1z4yVPhq5R0E?= =?us-ascii?Q?+H/H7qIajSjk7tqqp7IYL4ytVfpQkeXUPN5PkMXylH5V78UQaSAhU/6PLapm?= =?us-ascii?Q?e0LOweiJjX6RCrpRF5a7l8WccYBO46XN7JUKXesPt46uXBB/GpPOBrBZtKp7?= =?us-ascii?Q?RKosY0AccQNFOXiQAdf2fxthFXgxQYIZ77TtsMlyF+H441agBKlUbzhJOqY9?= =?us-ascii?Q?7TDZ5+uxHsXq7aPf1fO+nP/2fK3yNodLVZC1AtO6?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 367f3b2e-3383-4b67-3b93-08da910769b6 X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB4192.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2022 19:30:25.2582 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B6dnApKbR86K76sXnyJdT5hi8j/VNXV0UlBm5flxRJT8iua44jYCJb8Lo9zq4vKi X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4052 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1662579029; a=rsa-sha256; cv=pass; b=3BVh5ksxcYsm0sy+96rjnOeyJ75wI8BzylGrrgJmAZPtw0qHYgKhbOKKZPXuj9Z2WsIr+1 EfratOx59u8Nt6zzZfhAHDlIb4JoknnyH/qVA4nBtEIhJN682+Np9nvtaXLu2fqALg9wwn yuI4QEzu5eKKGPmcLwVy4kJPu8lFT3g= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=GF1ZnabS; spf=pass (imf16.hostedemail.com: domain of jgg@nvidia.com designates 40.107.223.45 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); 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=1662579029; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0D2IL4VT5OxeY13hSJy9sKXeJEY3kME5TtvDf2cIkUw=; b=grAoy1M5eV+bdeUrzy1th7uYMao6JBuk3BNzrk15UHQv+5n5BPswgbxeyIJFLCV+O3UA2P GCOFoXCA5+D1gmv2tV412gV174oAtg+4DLYuNvG1kIuwZ6A5frL9XJeGSwqCEImL9v9hzs JGnisK08iBmbjMSAOrvBjYJdow/9I8U= X-Rspam-User: X-Rspamd-Queue-Id: A5BA018007C Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=GF1ZnabS; spf=pass (imf16.hostedemail.com: domain of jgg@nvidia.com designates 40.107.223.45 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com X-Stat-Signature: qwr1kg97ahoztj58gobwd4kcp33ffsy8 X-Rspamd-Server: rspam03 X-HE-Tag: 1662579028-52057 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: On Wed, Sep 07, 2022 at 11:43:52AM -0700, Dan Williams wrote: > It is still the case that while waiting for the page to go idle it is > associated with its given file / inode. It is possible that > memory-failure, or some other event that requires looking up the page's > association, fires in that time span. Can't the page->mapping can remain set to the address space even if it is not installed into any PTEs? Zap should only remove the PTEs, not clear the page->mapping. Or, said another way, page->mapping should only change while the page refcount is 0 and thus the filesystem is completely in control of when it changes, and can do so under its own locks If the refcount is 0 then memory failure should not happen - it would require someone accessed the page without referencing it. The only thing that could do that is the kernel, and if the kernel is referencing a 0 refcount page (eg it got converted to meta-data or something), it is probably not linked to an address space anymore anyhow? > under filesystem locks. I.e. break layouts is "make it safe to do the > truncate", not "do the truncate up front". The truncate action is reorganizing the metadata in the filesystem, the lead up to it is to fence of all access to the DAX pages from all sources, so it does seem to me that 0ing the refcount in advance is exactly the right thing to do. It returns the page back to the exclusive control of the filesystem, and nothing else does this. Jason