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 A6FEECD1288 for ; Thu, 4 Apr 2024 20:23:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29AD16B0093; Thu, 4 Apr 2024 16:23:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 24A616B0098; Thu, 4 Apr 2024 16:23:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 112B76B009E; Thu, 4 Apr 2024 16:23:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id E5E296B0093 for ; Thu, 4 Apr 2024 16:23:24 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B49C5160E34 for ; Thu, 4 Apr 2024 20:23:24 +0000 (UTC) X-FDA: 81972974328.22.7C784B6 Received: from mail-yb1-f182.google.com (mail-yb1-f182.google.com [209.85.219.182]) by imf09.hostedemail.com (Postfix) with ESMTP id E8C9C14002C for ; Thu, 4 Apr 2024 20:23:22 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=2+672uR8; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of surenb@google.com designates 209.85.219.182 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712262203; 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=Bz7AxBn5f8YxKgE6L33pdnqQtmTBvQk60RTId5exw6M=; b=cBdDTtL8z5yiGSLJ3PW5vMJ/v4Q8/YbONu39inunsx8up3zpGdOAJHJ7AdHvCmUwFy6qq6 +yjodZ87TFwwRk1PC7QDV6++Os/dgWot/h7tsl0Hn5exRPwwG84FsJ6pzadncjHgY1GUMU Sgr9Pt19vgE7NOeiyumra51wq+jrAJo= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=2+672uR8; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf09.hostedemail.com: domain of surenb@google.com designates 209.85.219.182 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712262203; a=rsa-sha256; cv=none; b=2AA9y7jTT4JCr8IVTsXsu7HSzC39fx1gwX7wCh2Yws4juL92zQ6LHai7u8rWKajvrMVyHs fJgcaDYPGVddeExzNrfhf2EQSKCf3AOwixjZ0SDprl32PJgSc68r/szjQ0n6fp5fXzPUhe 7agKmYzxzm0xmtSRFqBcCMy7ujKWUs8= Received: by mail-yb1-f182.google.com with SMTP id 3f1490d57ef6-dcc6fc978ddso1236945276.0 for ; Thu, 04 Apr 2024 13:23:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1712262202; x=1712867002; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Bz7AxBn5f8YxKgE6L33pdnqQtmTBvQk60RTId5exw6M=; b=2+672uR8sniU1+7xZDh+a4tOPM1YdV9GS6CBdEd7UhMsnypYO3WJ8ayGLZAMSjETuJ dA4OqPtRSroDmAPFSnNgbk3tawPyCBlGbfzZpO1FJqLFLXPciDIRJITHo8uCGqQoSvhc MUtfq5QAMKotIujRBRI9rZWeRWI7fCeTbP0rvlWwEAGYTGECdYykdtVsDjz3jbY8/NjJ 3hHpXt5IDjukQLp7Twgzw502VZmnGt9c3iMAWXr5E2j8X246YVXqfZETLtwW11VtNP6/ V65kFKWHh6rWMFS8+dqawZK7FTL83OnlkeiOM2NmnT/MaEItUeHxNAXJIoXprkhPTNdg pLHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712262202; x=1712867002; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Bz7AxBn5f8YxKgE6L33pdnqQtmTBvQk60RTId5exw6M=; b=uOkMhM666CXqNJ+MGkR3kITfRonJ4unPWr4tLGouctjVa8lktmTzSFarb5m9x05OyF gnrANZ+Q9FMfH4Q1Aw4Z2K86sO9zSqf+Yml1hPUCTGrFKXwNjsQxZr/aWWdzKf60CgXl v+W88pdGzBmvsbndcCptcTf8Kd+Mao18QNIsf6tgEIVddmhhS5EUS6NqDuVKDy00ZmsP OElZqAylzVI+DegwxmGRI0ITMtR6vz659X/xseW/AXoRYQD2Ln9KOb20pyeabTIhYz7h FDX1NEamdu/+/DdoLBLwGDeDshW6r6MK6I29q4QvXVUalLivqlLIDwQ5JOjKgwod84+r WsEw== X-Forwarded-Encrypted: i=1; AJvYcCUlxEOMHBk4p83Nf3a18KM0LmP2mNcjqiUgqlnwnigeW/KQJPjTKoIiuD37gDOxv/bdI1JhYgsc4jAcG2OYlcJ4cSM= X-Gm-Message-State: AOJu0YzFKASHSPcOAKnuqC6JR7HdHBk7sFRlPUv3nDH7w1YYaB4oFSiz ifZvk/JExRlNOEIxgEGEdNhrR1pg8D7rJp5ndtQrnkVPPQOTFYcbZ9ggB/xrxS9rPnk33ZNi2bf T4ybtSiFQoG8rs0rppyETPb4ncKovNVc94ifv X-Google-Smtp-Source: AGHT+IEywlzeHmPZjrFNkaHJuAWinYokj1Z4x8uQFcdXt5pavkB3sR2HERi6scNnqzU3y3HHhZ/KGTbhnVqcuPS/44s= X-Received: by 2002:a25:a228:0:b0:dcf:eb30:c580 with SMTP id b37-20020a25a228000000b00dcfeb30c580mr481340ybi.3.1712262201732; Thu, 04 Apr 2024 13:23:21 -0700 (PDT) MIME-Version: 1.0 References: <20240404171726.2302435-1-lokeshgidra@google.com> In-Reply-To: From: Suren Baghdasaryan Date: Thu, 4 Apr 2024 13:23:08 -0700 Message-ID: Subject: Re: [PATCH] userfaultfd: change src_folio after ensuring it's unpinned in UFFDIO_MOVE To: David Hildenbrand Cc: Matthew Wilcox , Lokesh Gidra , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com, aarcange@redhat.com, peterx@redhat.com, zhengqi.arch@bytedance.com, kaleshsingh@google.com, ngeoffray@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: E8C9C14002C X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: qmcjmtdd4rpsgy71r4gu6e14ke9erris X-HE-Tag: 1712262202-86961 X-HE-Meta: U2FsdGVkX1+0v8vFEizUjsn/cEyuvz3q7G6JNCNukUDOFRNlCk9CjHdex4EIB/X0WFhYWE0h9bQBWPnNqtTVC9e2W7jpxNyEiCq+v6s5VVrjRVEo5YHiNazYdfMAFDGfY7e4T00udcKndjRCdnBluN1lAaf9xafjZZM7CoEQ9SVopCjVWVRLpPxIZ+6Uo46DS506h5nZoZ44UzFY5MtnNNLZEDMfZAMz2mIHDOfQ3xFFve0/PfRmmSuc7P1A6l/YBFSoi3g9swofVY8gh4s3EkXq93xK1mb7ZRo0684Kc5sz5kvbS8nhMiI2yThrk3/nD3tO815LhTq7/DKz3xaqH32FKdJUVz+iI/0B0eOdJyTwaNT8OKY9giPq9RIaMb7zqopXtiwzF7zxPDcW8/wY3+qCp+inM+czAaylCyp4X/aw2UxWEM3P0svFiKUTlkxVX5fwPBiS3x8g/vc/d26aggxGS7uOeHzkoNMVQ/WSgYRb1T4DPreDntsyjkE21p3gK4vTuDa5Te74PH5S2cZTwe6RnD/m6mzndKJFCqKzxn5gb6vfS+ZthaBj20xUv0OSIExXoog+w9+aCl5Dmk2GIBQQUb/G9Zeu1tGbbIp+vF0O3Kmy3j/kiU+UPtxvRH12g4RSxEYb4P/QY1j7RvWOXRRym9SlrQvEG8KNMNZTdSp45bzWd0Yc64XRScTWrZxXOiLPmO0I+GWGw4pgNXDqIQ21v0VXVGA/ZZbfij9jjzjGuZy+e/6Gx8th1mg9wLuor6OZaiyp8GVfxUgGBcIljuRV3E58WUizk/ZoLvFt+tt5msAzDv3n6lgQlMrWRPrJuFIH5y7RexQP9746JTkhvHKLM9Jbuy4lhqo+0u4gTkmx4WGPonwtLC42DSiLZAxj30sSu9wRml2NAfEq6MDXMxY5RAmp+NmupPrNtFMm2mOhdhgzsYfBm/gRSOWrjtUuO7feLoYocdM3lG2lPpE GKYQqhPr vnktV8IpBjMQGNtrulZRvk91AVoO5dAM/xOxUuqZFkGggt8n+P44yp1AnSsud+pEJ3JE9HVAMkiN02Sv7QdKs02uK0T23VSuoFnrhMy90qrV5KnY1Vu7MGZvPfTlcHSuFaM303TnIkdCo4bSe/N4QnxGhzK/nFW+RXgw0gxXA0o/SYdDW0ZQwAVj5voR+L91eu8uKGFwz1MelW5taBearpUsrwCd1QhzOkBCfid4dlNlIYAm05yuqmGXhi+wQANcup7zK6Jii5CCqbXO+ZkK7Ywmu/UZjbm1ud7ShjwUAq4dw94jW575X08qbN7OnGPWJ+Nu3rQA3mF8lGZjvomuDbN95ApTRrNAIgzR/xVYTFE6P2T8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000040, 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 4, 2024 at 1:16=E2=80=AFPM David Hildenbrand = wrote: > > On 04.04.24 22:07, Suren Baghdasaryan wrote: > > On Thu, Apr 4, 2024 at 10:21=E2=80=AFAM Matthew Wilcox wrote: > >> > >> 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 =3D pmdp_huge_clear_flush(src_vma, src_addr= , src_pmd); > >>> /* Folio got pinned from under us. Put it back and fai= l the move. */ > >>> if (folio_maybe_dma_pinned(src_folio)) { > >>> @@ -2270,6 +2267,9 @@ int move_pages_huge_pmd(struct mm_struct *mm, p= md_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? > > > > Indeed that seems to be unnecessary here. Both here and in > > move_present_pte() we are holding folio lock while moving the page. I > > must have just blindly copied that from Andrea's original patch [1]. > > Agreed, I don't think it is required for ->index. (I also don't spot any > corresponding READ_ONCE) Since this patch just got Ack'ed, I'll wait for Andrew to take it into mm-unstable and then will send a fix removing those WRITE_ONCE(). That way we won't have merge conflicts, > > -- > Cheers, > > David / dhildenb >