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 02A44CD1292 for ; Thu, 4 Apr 2024 17:21:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 84CF56B0095; Thu, 4 Apr 2024 13:21:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7FC886B0098; Thu, 4 Apr 2024 13:21:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6EB1F6B0099; Thu, 4 Apr 2024 13:21:56 -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 508586B0095 for ; Thu, 4 Apr 2024 13:21:56 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 147B41C1024 for ; Thu, 4 Apr 2024 17:21:56 +0000 (UTC) X-FDA: 81972517032.16.867B355 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf17.hostedemail.com (Postfix) with ESMTP id 4B00540014 for ; Thu, 4 Apr 2024 17:21:54 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=HAhC2m7Z; dmarc=none; spf=none (imf17.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712251314; 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=2AAEG8ys83OU4EuRCbJQyodfMWerUNVMHCfTJ2nvxPU=; b=ZiAWoYM4kaAf7j4WSjvVkl4Lwy42iMNoyl3m4sGjkxK/qR4SsSTzutMkLSaiB4r5AvS7SB DPsKiyxyTPzI8rAwLXNv+Sq0++12q/FvBOmywmcR8HLwOP8VzcYWX83BaFhtyazwEYNRgE 2VqMIF1q1x9f+Y7kXKISleXhvKiDRLQ= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=HAhC2m7Z; dmarc=none; spf=none (imf17.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712251314; a=rsa-sha256; cv=none; b=RYESUUQESpBAIVBOwCIPaq6Mho5Yyg4o2HFnNsbhlWXIhd6j/CUXE4S21ODaXsK4w2kY3n yVi1Yq8mwhFfKMmNmKMvlEVSRqe0hcZaNVUVrxREUkrvQc7wPz6hVR16c4qF3JQ935W4CL 1nz6L/kqdJnGhCXarroJF22GYXH3GAo= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=2AAEG8ys83OU4EuRCbJQyodfMWerUNVMHCfTJ2nvxPU=; b=HAhC2m7ZVzD6zPrXiQJLgjLHaW AO3AVTmlWvFBXCD1yKqq7bWONdClkxDKKJ3ou7VzLfGQ/SMxwkrdwQqdaZQAlCW1NbH0geh5Jid2q 9AAaaRG/qZaJvCcgYoNWMcAgIXza61/yE3cZ/QBg0Wxsvzg5hrrq9waG574EojwJgRNGAp6yrHLrA xwXaqqkcWFNBIABKNY7wzOXtPho8VvFFLo+wkpM8JbBkVGaPIbBs298IlNWBXmC5qoNiLkBaeE8c7 +1o3MRkpK6xiKTBkPvFLTjVOE9SGQhc2JGcEPImDkJFyBRKoLIgobIMBAGJ4QbwPF321JJtG1x7/J HhzVRtHQ==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rsQmc-00000008WpL-1PQc; Thu, 04 Apr 2024 17:21:50 +0000 Date: Thu, 4 Apr 2024 18:21:50 +0100 From: Matthew Wilcox To: Lokesh Gidra Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, surenb@google.com, kernel-team@android.com, aarcange@redhat.com, peterx@redhat.com, david@redhat.com, zhengqi.arch@bytedance.com, kaleshsingh@google.com, ngeoffray@google.com Subject: Re: [PATCH] userfaultfd: change src_folio after ensuring it's unpinned in UFFDIO_MOVE Message-ID: References: <20240404171726.2302435-1-lokeshgidra@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240404171726.2302435-1-lokeshgidra@google.com> X-Rspamd-Queue-Id: 4B00540014 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: rm5k6xsqg86k15r3jyx31kk56qa68jfd X-HE-Tag: 1712251314-805171 X-HE-Meta: U2FsdGVkX19jFyDV6/J0shrvGyWa3pXlp9/CwhBPIiiymqprRl43r21lqF4kI/D5WarJBnO2rNp85XDk1v/3f0sa+5eE1ezIf5Q3bKU858BaRPQzE6gAn+l+uoe72DydNFQtuLXmLL4eiB8IW9p6M417kwQjjR7tP5ecYcI1dKnShLx53LczsKzE2f+HXD0Iv7FGntd+ufzvCxzq4uJqUbE3TZQ6tjjHuri1koGBZM9wodLfktgvPADoeD8CU/6DEImT2caaS7ecxnpv83DY6QzshWfAni6cPkZV40JH7enZqGeWkNL61EWqdNEW3dKyb/CFfLDcePZzC+3AkjH9p9yI7rbTkEA2TLsIDGG5Qo/kcO+dhVH+lyZG5wwdDsHP3MZ0A74/AYdbMsBJKWZwWMyIMMQ0soXcxMi+6vBIZlhW1oO0wM7B/Ep+T7G+EEnGSZuaGh8dIzB4RCjbwPWhk6/v/0xvguDn0Cdli2m3xLPk6mI30Jlfesp/Y3GdTl7OolxNvkVg2Ca7GW7av6teC/8jGGWX22Y+DpjANFuiQ/XJy7WabbwRjbAeuu4uP3tynGs7qMfMb5cNhEoXEAhxXttog5kebu0HXbiC7bUgDT2llL9f0Oyr70x76UcZGUlbcm3Doo2v6I4B23fADraoRp48IBzYh4w8gNrlFe+f4SA0L3/hj49apq4Yz1/hk6EM06mFxcg2rsXw1OUAwJSHR6bl2qieSuLpNk4k82mf8C8NXcG2sqoSLQbxLkCIRT8XJyIFg+Q6dX7YVZfGPnnGDYjKBgF10TLhJUmy1XXXO7VSxnxIRo72+I1aYVvH1uDRj7L0zH7nhaZbN+CWYpOmh9aiq1o/ZGF/F28yTHjg5oKH0NTrp9/MyepBS7TXHP6uHuk3r5228LgN8t9QHdKUnluhq2PF9XQVG7bolEV7TbAN57kllgmxUpkox3XBEtX360exujdSdtjoQGQJ0YH hnjUn7Kn c5swQpTbT2SSx14Us0a1UFII0VKHBEOgQVrtIUJq9fZcxzI4F9aZkSxwSauK2hu1JsPCrg00LSVPH0IFo9T1m1TCb7mhuczykp+be15ZCHBFw5tcL+UAvpG6W79ksiHSiCBS8+wnPcnKS98TjHWNrjD1t3g/YXQRdLhW88K80wCRfTBAUVUD3qPj8Pv89O/VzlU4Sb4gXQKu476V0UPOnnk2b4w== 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 Thu, Apr 04, 2024 at 10:17:26AM -0700, Lokesh Gidra wrote: > - folio_move_anon_rmap(src_folio, dst_vma); > - WRITE_ONCE(src_folio->index, linear_page_index(dst_vma, dst_addr)); > - > src_pmdval = pmdp_huge_clear_flush(src_vma, src_addr, src_pmd); > /* Folio got pinned from under us. Put it back and fail the move. */ > if (folio_maybe_dma_pinned(src_folio)) { > @@ -2270,6 +2267,9 @@ int move_pages_huge_pmd(struct mm_struct *mm, pmd_t *dst_pmd, pmd_t *src_pmd, pm > goto unlock_ptls; > } > > + folio_move_anon_rmap(src_folio, dst_vma); > + WRITE_ONCE(src_folio->index, linear_page_index(dst_vma, dst_addr)); > + This use of WRITE_ONCE scares me. We hold the folio locked. Why do we need to use WRITE_ONCE? Who's looking at folio->index without holding the folio lock?