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 43DE4CD1288 for ; Thu, 4 Apr 2024 20:07:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CC42D6B008A; Thu, 4 Apr 2024 16:07:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C4DAE6B0093; Thu, 4 Apr 2024 16:07:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B3BD16B0095; Thu, 4 Apr 2024 16:07:45 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 930A96B008A for ; Thu, 4 Apr 2024 16:07:45 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2202A1403C9 for ; Thu, 4 Apr 2024 20:07:45 +0000 (UTC) X-FDA: 81972934890.30.54AF843 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by imf07.hostedemail.com (Postfix) with ESMTP id E90ED40018 for ; Thu, 4 Apr 2024 20:07:42 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=hA1Ffq0u; spf=pass (imf07.hostedemail.com: domain of surenb@google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712261263; 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=DJQZX14pNqacP6yH0MMA3xSLOt1OyaaMR7UOhFYBuH0=; b=u0KCbA5tORL7LmKwclZeNP1anAZJ8HSfSgr175k4dqv0ySeCypi6rFnFIe0E79XKVDiRIJ 4GyzSiJ79WId4tBy/PyeoGSXsflaTgtgok3mmQ2bfGM+nuPn9Xpebbqg3IkMtYMYncLEbG FSKsWq00d/3UNDxA7sJz77EL29+BnTE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=hA1Ffq0u; spf=pass (imf07.hostedemail.com: domain of surenb@google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712261263; a=rsa-sha256; cv=none; b=4v8vtAO19ah8AnTbeuoGLd9V/OioKez1Kt/qAzN2qq4CJysXWkNrkdC3qymQFt73l8zvIS ms83XilhrQ0GOg7fDcCQmd84vDxr6+3hIfeFUIpemuRHWT8hi6Ctkg8NEkWGsf810evv0H jVlvE8O4TERSmS92E5UIMU8l8l9KozU= Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-343bccc0b2cso835860f8f.1 for ; Thu, 04 Apr 2024 13:07:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1712261261; x=1712866061; 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=DJQZX14pNqacP6yH0MMA3xSLOt1OyaaMR7UOhFYBuH0=; b=hA1Ffq0u8EvSonZGZnHvtvkny0zVdddaqSFoiIo5EiDZy+nqbGwaZzcOM1ztTsfx9A KF6HUAL0GDdi/ICYrcIN26tL4uB7c9ljnBfIvng07vzQx7zUOF+cMnsgOjK0X1NAUtUX CJ+wqs+I3hxynTTTWbp7UmJ36uV4BrWMpx2Y48VInyy4umxYHUc54AmtYd8icb6B9agI b0zM0ZuvAu7H+uRHMZLJ5E72hYMs38CDa4zdzE9Hx/mE/IyxpQt0nmiBvdaMZ05bzY5h muNk4t4ec4HApBC9xXtovbEPAKKWorjICrqY8GlTgybhRltGRcyu6pG8HTtbgpTf4DzE Wqfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712261261; x=1712866061; 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=DJQZX14pNqacP6yH0MMA3xSLOt1OyaaMR7UOhFYBuH0=; b=RVgOZVvUOgMck092Hb4ZfS4bqG7Nnf03arAPca8IbWpLapkwrrcEIvFEPnJOxBupbK cPVQHpPLjKN/j81T7VUrhzW3ZPoCBTCwMphiw+S5KTG2qhzSL0BmiB22RwU90JfZLsAM j8dd0bCnpGEVvVw3YlAB7vE+w6bcJYdrncD/pZ7t7DCfmS/+PRVkNhv8HbZG529gq4v5 66eUQ3pnzgp6JChIzWiRM3MVvr32jB/cGHdVNaf+7uTig9UMkmRVq6TZsLWQmTuxkiFW si69l8aM4sDzNUfXUSRAxS/obkPSvfspJNtKGS8vEAGIDk7/ASJSkKj8InYOvyKB3pNm yw7Q== X-Forwarded-Encrypted: i=1; AJvYcCVGjzNrjVuuF3HVg5yvBo/tIpvgr7VEFbx1uZY4L5UUxcmZT+E4VTEAQKvf0/QTGcOjvGuwYw9U0lvCX/iNCcuhvDA= X-Gm-Message-State: AOJu0Yz/+k/xZkHMzSyE0ai7MkkSOARBbWreVyDT3mV3YZ9c/Z2b2Ppb 4zAaofaAcaQUuatTdHFCyzZvmPh23x5QJiFAucpRNk2a02955JORaQBTEL7vMsV2x9dEiYmAMJA OMPt5M/Awp73XMAjmSs1z0N+aS4FxSaQeP1mb X-Google-Smtp-Source: AGHT+IG+NwR0yeRIg5TBfS13eCeoTZD+OX41KhT6eVRLyMQyIDTsA4/UkFRdut2sjqIWAEzK/d6wK5JyA8vCEa0zo9k= X-Received: by 2002:adf:f44c:0:b0:343:70bc:4578 with SMTP id f12-20020adff44c000000b0034370bc4578mr387872wrp.70.1712261260979; Thu, 04 Apr 2024 13:07:40 -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:07:25 -0700 Message-ID: Subject: Re: [PATCH] userfaultfd: change src_folio after ensuring it's unpinned in UFFDIO_MOVE To: Matthew Wilcox Cc: 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, david@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: E90ED40018 X-Rspam-User: X-Stat-Signature: rxfbkxkty8bfdeqfezipq8mowehfij5p X-Rspamd-Server: rspam01 X-HE-Tag: 1712261262-672246 X-HE-Meta: U2FsdGVkX19ODu4lqDR+ySoteyxeVa8GhlYLJlKqYEKKm5wr4pjCNkYQ67zf85r4QDQ8rqZTO2rhfk2/MG+CYnbF52kjytZSUuiL4rBmTUtfOTitPazoga09IK1qYQ8Y+yOM3N5R8Lk30M15+K/IbK21bzIgsmwfw05x54wJhiEE5/6Lis3e9ckwdP++S/XIqwrwZCdjNyf6e8CiJVSlhpiYnDnMkvfLmt3Av1Qfg6qhrpY3SKxiwZ1iAwNrg3Kzn2Uahk/ZDZQEOCPSsNFXX1bvnA/fpzFSmktMXUR9wUNdJd/2R0rDuQEucG5JpNcQU84D+KyzjuEu3nP0R5NJ6MXJN1NgrLGtkLVpaVHPg/s/KDAYKaD5djCsworMJFqfrSXEPAZ1cjzfoffuBj0+HwVpn8+mlyw5XGLw9CtynMMsf70YLGSi+D8p5wxB04EZVPxsh6B6yUcSUnpqff10bzxAJmDbU7KdBWgYOvLZTJqV+fhVaSGThiwEMihEx+jAZ1gGuGZ/7PfZc0YrqHQfl06VSqRyY29bEW0Lt9ZMmoPjfSt34SWZ1789THByu9xp4xx3pBrCfEipEKKkeAV2CCT6vDgfDB9m0FpQzrxGrpRJ+175g0xpYoh330b9WTqaX9Lyg2h1qodpGNtn04EMqboM8ywpQhm+caHp9PU+md/nqrqELuDKGqz2uxlksmEVqBmtwfW3FUzUHBsGrnO5ni6mlhT4BkkbHwxHOjNBswg8SdfsTZu+mNZ84U3i2T/fzUy6q9ymcO//3gH5+3M1Qwg9XlXcjP9lMqK+niyUyNZY70OhvYK42z0hgCJLnfsovdeOo8b6pmT7xCdLBVRapGcAN3zVbbKt32r4R2Js+PWJqyr1Ti7qnuHvfCr4a9+1Z0vF7BL9Z27eOnXt82z/+2aJLVM+KE59LzW9HnZ22XJFjlep925GUqraXO1XM33LVV8hzyaXEd7ElY5IXw/ qJQIccqB vc9D6o/eAr6fVw5mz5AtFj78Xk4NiKKqeeNtuYuHwv3ihCMQ= 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 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, d= st_addr)); > > - > > src_pmdval =3D pmdp_huge_clear_flush(src_vma, src_addr, s= rc_pmd); > > /* Folio got pinned from under us. Put it back and fail t= he 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, d= st_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]. https://gitlab.com/aarcange/aa/-/commit/2aec7aea56b10438a3881a20a411aa4b1fc= 19e92