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 852B4C433FE for ; Mon, 14 Nov 2022 06:43:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D811880007; Mon, 14 Nov 2022 01:43:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D31BB6B0078; Mon, 14 Nov 2022 01:43:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF94080007; Mon, 14 Nov 2022 01:43:24 -0500 (EST) 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 B1CAA6B0075 for ; Mon, 14 Nov 2022 01:43:24 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 8863BA08E0 for ; Mon, 14 Nov 2022 06:43:24 +0000 (UTC) X-FDA: 80131106328.28.20341D8 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2050.outbound.protection.outlook.com [40.107.244.50]) by imf25.hostedemail.com (Postfix) with ESMTP id F3F19A000C for ; Mon, 14 Nov 2022 06:43:23 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AViqGaBl2jeDaRW+GP25IxEWVLTa+vEbhojLrzl0PqnL1OBtDWevLBQ4PuTfEyjot5ZpkYw++Uw8b61pGiTZyyQq2SvEnZUiubilxq/B6tMYA/KMcpJZV0S/3R+4LFXzkzZAQdBzTJKFlJ2SZIE6B4pai4EJFPEm5g99Pf7RJv8/Tdmbj6jibf9dCjONiatiSNo8mS/DXuVK1Kf3T4fhLajiT4dLiPxY8tKfzMu2e55nIvIqLTZ9Tnzaq0JApBp90DhMydiZpwlRn59Ito9G4ZbDWlvb6cGMsxRXzBz9atj1y7yxS3eYTcLVISfivwBC5Fluqhn1r/or5LSclv+WEw== 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=GY4i1PHAO9JNYwNEMbjxTJeZOx5paz/Z9i/dhgm0eng=; b=bazDJNGiR288RqfmbVh8wiMr2ELbOwwDr9k+k/kG8Cb6k+03WjDfEiyR19Tr3+VFWYU4Ck5fdENmpY0nfPmUXwfK4hkDrEPmoKmdiXypWtakmaHZfyThqXe7QInBUeQVX+npmDJae6quSB0nYPCDUQX5QKS8K5JnTseTwBbSCZtg8a61wKT9z7Xb+ssoGRHv82xyKPxY2ZOXcvORuBjHRUuR/0RCt8m9F9gT4ZSCoHP7FQQn/LPMOaY4WWpiXv6Ce7oB+sJtKBrvcOv3MA18dtbp3efWMFdZ+4efzttXunD1WjKaGmm+GtJgkns1fwnNhpn0gSWX6GyqFjUKDZSkEQ== 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=GY4i1PHAO9JNYwNEMbjxTJeZOx5paz/Z9i/dhgm0eng=; b=NVPi8eLBgjab5FahE15Bi/CugoZ4bSOemU0nyb6aodN/Nmb9Qky5I0snmnXlcC49sbb2IFXYZ+7CTeW4SOXpVFQZM689lkHfCN0OQ8H4j3iASQfKndN9CF3vfIVFSo604wAvIBm3KIm7TDnwuHQ1utd/nXqKb8vT/9vzM0JgPpsB3gDt4+qR3Y0JEMpts5QtjK6NF/hwyGqiqh2mMuGyQukNTS/demTT2HhCw0IUAT/xlKk91n8MO7EQkH9WSABkYp3rPITP8v0RV748mZ1XKBU9PwsNHKsHVUYjMY73yOE2GjLhAOylhN9Fm+5mwOlv5/lDRO6nU9Ccf0uP5QOA6Q== Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by IA1PR12MB7688.namprd12.prod.outlook.com (2603:10b6:208:420::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Mon, 14 Nov 2022 06:43:21 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::a60d:334d:2531:d031]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::a60d:334d:2531:d031%7]) with mapi id 15.20.5813.017; Mon, 14 Nov 2022 06:43:20 +0000 References: <20221110203132.1498183-1-peterx@redhat.com> <20221110203132.1498183-2-peterx@redhat.com> <87tu36icej.fsf@nvidia.com> User-agent: mu4e 1.8.10; emacs 28.2 From: Alistair Popple To: Peter Xu Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrea Arcangeli , Axel Rasmussen , Ives van Hoorne , Nadav Amit , Andrew Morton , Mike Rapoport , stable@vger.kernel.org Subject: Re: [PATCH v2 1/2] mm/migrate: Fix read-only page got writable when recover pte Date: Mon, 14 Nov 2022 17:22:15 +1100 In-reply-to: Message-ID: <871qq6vxx6.fsf@nvidia.com> Content-Type: text/plain X-ClientProxiedBy: SJ0P220CA0023.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:41b::21) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|IA1PR12MB7688:EE_ X-MS-Office365-Filtering-Correlation-Id: 19b13f5c-9541-4524-217b-08dac60b8508 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ppY5opRO3zWsvMhxi9j8Gwl8CHyLxx9MJVsKT/5shzk9/nUbNNqtSkA7N464uWKG/b9WYTdsO7DvLU9/C9FJXRqsDikjZjpd2FfmbmcQHiYisT+MhSoAXT7EDzdSbeQCI4lPEnmcOtXxrpF1sgMQ/hCm7XJhO2BvVgqvtp+rHzH0I1j1DaOUzWUZNDCjnOaUYcNykxWb23hNtyPy1R0EqOUPIp6rHl77/1kLVdSn0dejuF7NNdYsAXPZY/WHT3Tqxs/tuz1cTPDk6tumVaIEEL5kJBiSoLsfPsD2aRNj9NY+hFVOgLeZFLqVdO6lLZjeriMKQ+yUhTTfZr4g/GsPJ2a2jQp0xLQbxrp1wqYeGPqiK9/dC4W5Th5mQ/Y0CeYNrkJJAhNKsYqXtj1CtYVPKqtUr68yQnqci77p1U2FixXN+QIrM2qDRL8D8AMWhjOjQSFG7+H29ONO6Mll3v1sd74GHRJOcU3kLEqZuRjmb4rzjFpoPscigSZne6p8dmWXr7ziVnTMk61wPcgcMX32x2WUwfw4aCjgKbO6/2JCr4hSbKj+DwXgOuaS80MCHvtTzDZkLeEKY89NBacMC2wym9vpwR44S38D//M9B6vIMKHNamU6r6I8dHcYEjEfxWrM98pGJBO1A2oXyikbaPBNYE1tQ5HGkAd5ObciIWicpitciPb0iC3BiMeOhXYEzxky X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB3176.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(366004)(39860400002)(136003)(346002)(451199015)(2906002)(41300700001)(36756003)(8936002)(7416002)(5660300002)(186003)(66946007)(2616005)(8676002)(4326008)(66476007)(66556008)(86362001)(6512007)(6916009)(54906003)(6486002)(83380400001)(26005)(316002)(6506007)(6666004)(38100700002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4Or/2CJih7cszDrgL9l5lOhCbm/iR3a0gK/G5MWf7SCVZ/dWkbCF4JrVzQae?= =?us-ascii?Q?jOuCuHvr7Yf260BgvB28iEX+1ccfoibaXOXK44ZtS38f3dEOYLcCVf5uRQVK?= =?us-ascii?Q?zyIibc6f6cFcSsPG50Bk4a3iu5oRmyWD4nDadR3K4yFRQI7IiGMw5fiQO6Bi?= =?us-ascii?Q?3YRz2KihSdvOpJBOSlypAwwahdcnTwUNi515kczPKFIl/t9QcE/oMmQyD6oc?= =?us-ascii?Q?LRPNRMU/Yj9F1ti1qZuXpv1DlGLP0C9XJUFnFlHtUw/3PZ0KnJY1NkMxYYWN?= =?us-ascii?Q?3HCD7NHxBQWmOleAOHIU+Huriv+LGoBediH+pA0Uvu8S5Qq+XU+OwrKUQjsv?= =?us-ascii?Q?O4yJ4yfBZrsh1BLDV7HEaKkzjlFU46j8iTP0bO/kUDJah7m5kan9eE6QrRYk?= =?us-ascii?Q?WII2GXyfln7U6EcpziTnMw6WWgP3Ibqsen1WHN/Mtql/r+xeAYbAhiP40fo/?= =?us-ascii?Q?DjAaodIyyZkX1oliEMCyaQtByzkioSjxPyxbRZ/spXPdfq17cdTHOkmvHd6I?= =?us-ascii?Q?OH258DlAXGLaYsaH/mDEpNttIlBCtAlXdNZey6oqwxy+vWaktIU2C5CZDlSJ?= =?us-ascii?Q?d+7WNkUHSkze2AlBmdrMq0DI54jmv1d+VTSZ4ZTAh8YQD4cOjljLpsIfW2sx?= =?us-ascii?Q?Xgu/nOuCMcVSlOdMIFrb6mCbF4eebGBMFp9SXsFC+EbrPgjK71hoyJbnv2No?= =?us-ascii?Q?TPZRB8lRSMaTB+XjjNBI3lLJdcGYMPnrp3Qs7givOKL1Mlpji1honGocYoBd?= =?us-ascii?Q?wnXHKhF1+iEcQZTwas7biweNYk4y9J1t3Zy+UwANsMrTDAYz7SYtK192p94/?= =?us-ascii?Q?yhatGfsfY78RuUEiJEz2T5g8BSuAgIQXKn+ViBVl2H57tfW1Q/DcV+OfZMC2?= =?us-ascii?Q?wCp+5EyXW+89cL8AnwgexKZEIQnzr1FKypbMMA6XUCB1PnvMXyixLrIcyNgY?= =?us-ascii?Q?OJ/UknAsUe7xVm0C6JlaI1BuWbEllbNSnREGE8Gqus3yg2peJ9YBT+vAUiMP?= =?us-ascii?Q?E0vFiqqm6GIc5w2ezC6/FtJC1SgLgrNHd5evMbNAv2YaMueWuwmrH6hxp/3L?= =?us-ascii?Q?0TyCBHiChNDCHx7kbXhbz+oWfxNYo2tr4w+7t+AzVftWsV7dhzHU6YuJbcjr?= =?us-ascii?Q?UcMld710K2u/Im1VsD3Zn7yP0XWwgtqP4TApkbGr+RrZoo/HWqyNZYbJjUnm?= =?us-ascii?Q?kKoaKSXrr5jCzffN1PnIrU3WjevXX8/z1E149jQOXCtzRX1WL+QvJKThVfXX?= =?us-ascii?Q?JJWGzdy3NLqyoH6j8k/0k89JK7EZU2HYO7hJ+F0Zvh/xOiMXahQ0VrLV/pxo?= =?us-ascii?Q?lXDRjgkFiAkkOBEyinyVHnCQSu8AQf8hGu1PYQc1Oscd6IzPDm4dTOnMonJD?= =?us-ascii?Q?6jkUhCdM2IOXO10jTy7czduf89cAzmcejsDiteNR/AFCPz+clM05PijANfH9?= =?us-ascii?Q?MGaGk/LCje1U175ZOiYK7XFTZUUI1M7URqhEHAf8mxk5wIWjE1VIzv+YO7g+?= =?us-ascii?Q?jAcX+fcXOaxLZIOG7xu0nibmblrW02/1DP93eVEfzauNUbD416qtMLxEIt9R?= =?us-ascii?Q?LSzouP2u4bKc7nF0wc2RaJQ5Fh/cswv9a12jSKef?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19b13f5c-9541-4524-217b-08dac60b8508 X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2022 06:43:20.7845 (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: ZSZSW4bxzUqK4Wh0ISXCRZbjBIFs5w94MiwLh9p1lTsa+PNVnBgDW0nqhYxjlT/lT2tgmSejAKKBdxbbUQmykg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7688 ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1668408204; 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=GY4i1PHAO9JNYwNEMbjxTJeZOx5paz/Z9i/dhgm0eng=; b=J7yJxbJMiFo6tMD1WxZHe4OSOsk4KFS0HHMxRLCu4OsuFhr+jg446R9BSh+uQ4Asz3G2lP 5ySB1ZEHBi0cfhluEKooEPrjSN2uQmveZc39EH99coROtMt2DzKTxkGsFqtzhrnH/iMZI7 yjVrTGUNjN3kNoBDN84AgRptcyAlntU= ARC-Authentication-Results: i=2; imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=NVPi8eLB; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf25.hostedemail.com: domain of apopple@nvidia.com designates 40.107.244.50 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1668408204; a=rsa-sha256; cv=pass; b=EbCgT8r2LiR9/UqIU5exKlAxgRtXinnkWvs3q2pjNOjqARnaGq5bY49U4n+1uZNWE+OkQM EVX1zYNKgp5Yn+aBPneAd1mncCe3c3hJ80i29sJoQEwmvKQO3MwtiAngPQmRXQ747fk/Ek 8ANd6kKJlj9EVYp5ynR0P2M23oQfoug= X-Stat-Signature: btmjihe44arzpmni14ncun73emyn8w57 X-Rspamd-Queue-Id: F3F19A000C Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=NVPi8eLB; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf25.hostedemail.com: domain of apopple@nvidia.com designates 40.107.244.50 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com X-Rspamd-Server: rspam07 X-Rspam-User: X-HE-Tag: 1668408203-810856 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: Peter Xu writes: > On Fri, Nov 11, 2022 at 10:42:13AM +1100, Alistair Popple wrote: >> Hi Peter, for the patch feel free to add: >> >> Reviewed-by: Alistair Popple > > Will do, thanks. > >> >> I did wonder if this should be backported further for migrate_vma as >> well given that a migration failure there might lead a shmem read-only >> PTE to become read-write. I couldn't think of an obvious reason why that >> would cause an actual problem though. >> >> I think folio_mkclean() will wrprotect the pte for writeback to swap, >> but it holds the page lock which prevents migrate_vma installing >> migration entries in the first place. >> >> I suppose there is a small window there because migrate_vma will unlock >> the page before removing the migration entries. So to be safe we could >> consider going back to 8763cb45ab96 ("mm/migrate: new memory migration >> helper for use with device memory") but I doubt in practice it's a real >> problem. > > IIRC migrate_vma API only supports anonymous memory, then it's not > affected by this issue? It does only support anonymous memory, but it doesn't actually check that until after the page mapping has already been replaced with migration entries. So I was worried that could remap a previously read-only page as read-write and what interaction that would have with a page that was swapped out to disk say. But I haven't tought of a case where that would be a problem, and I'm pretty convinced it isn't. It's just I haven't had the time to entirely prove that for myself. > One thing reminded me is I thought mprotect could be affected but I think > it's actually not, because mprotect is vma-based, and that should always be > fine with current mk_pte(). I'll remove the paragraph on mprotect in the > commit message; that could be slightly misleading.