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 028CAE95A8E for ; Sun, 8 Oct 2023 22:08:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 957F26B019E; Sun, 8 Oct 2023 18:08:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 908066B019F; Sun, 8 Oct 2023 18:08:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7F75D6B01A0; Sun, 8 Oct 2023 18:08:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 6FFDD6B019E for ; Sun, 8 Oct 2023 18:08:14 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 458B3B4691 for ; Sun, 8 Oct 2023 22:08:13 +0000 (UTC) X-FDA: 81323683266.20.3094E83 Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf07.hostedemail.com (Postfix) with ESMTP id 94D4F40008 for ; Sun, 8 Oct 2023 22:08:11 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=4jCJ5YqB; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of surenb@google.com designates 209.85.128.175 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=1696802891; 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=l7yY5oNbx9/Loam0cP68Sr/WQri41hI4Svguw32iNPc=; b=vJpco3rAl3Ug91E/ad/9AYS7ZpZi2ajqk/5NmvuyO9+FJBFZyWhV1EMJpy8SJ1uCfRYyGv HyzIPLtS7lwbZ1Kbc6xlSMJSIPA87HpYadeXab3VszJyqZXtzS9rz2B+fs+lr70rYwnc8o dQw2z/zK+L0bOJR7uZ3jWnNkw0hPnlk= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=4jCJ5YqB; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf07.hostedemail.com: domain of surenb@google.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696802891; a=rsa-sha256; cv=none; b=Ir4eC7NFcMe96kKHSPlvpCCw/Yluv3SV+sdgGERdRzKP71BfrRp2rNa2vwmEHj73xLPBTQ n535RYhH1mHksOOsASzN/Lnvg1VrdomlebBvUcc0n/Kg4TxNGjsUSigEDEiXlkPKCDSBbJ SMleDUiNyrPgIj3DZLzvXVnaIPQZ/1c= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-59bebd5bdadso47896487b3.0 for ; Sun, 08 Oct 2023 15:08:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696802891; x=1697407691; 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=l7yY5oNbx9/Loam0cP68Sr/WQri41hI4Svguw32iNPc=; b=4jCJ5YqBREQ2p7i9DQ5Btkciyd/21OEVH/PyrWxIzV3FHdserDbdVvMN7ZmKApJfwd gYkVaLolVTbSvVNLB4IFZVMhwv7un9+OOObrPVw2avoKUvVeoW4czdTCDQ/Y++gLL4lK JblHLjFfB8nilUVnY4p+73z37OfqDqPtqWSLGd9PvU1y2pM20w91AG3czwRbxhBV6VgV Gc8ivGtw4ODsESm7yHLQqxAOljgA/36/nZsrR8S5PIi67G4V2MXe5rd7FLjfhho23Wr1 NVVk0ijWFQ3qTlArspk3im8jY8mgMZ89ZcoFKmpDXhSMCjCKpiRprig90zVZT0Se2kJH 6nCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696802891; x=1697407691; 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=l7yY5oNbx9/Loam0cP68Sr/WQri41hI4Svguw32iNPc=; b=BZywYKU0MPLiKAcxAQP7B7tc9CojpnD0ZkpOVzKESAo8++eqXWI058ocerTdW5OX/+ WEFrkT0S9HpA+Cz6yNAWJZywr92lkhgVekLj0wRkU+28OxWDwDcB9CSYcKF55nR0yXOS +VxCOVHaLsEKeMkPhJe06IJWETNU0iDS36+pNCcEn/0720eBpcTG2NXyxp0V1OW6lY6e V79ikEgkZQaD7DtKXDujSnxzT0rj/BtA0PSs50EthSewXBOPQWjV3DRsLvABmzZbNAtu iYLaWnjX+MzOvkB3eASAVdycGT5tddx6F2peKZzVkDm1J90rMzRCYuzs+9PkHTKO56Kk pQAQ== X-Gm-Message-State: AOJu0YyoWULipgY5ftfgtQs2ahx60KcxaUy+XJwhzBWw7o3PJz/HeU4C hZO8nGk8fTiHnqhjmFGM5pYnI7UTny7YakUSmwy8MpjiGpGY0Apt5QY2oQ== X-Google-Smtp-Source: AGHT+IFKRwVzVdNNt+qduOPPY91JT8dFWO534Hi7tIIiSSB+pO4Li2yXrlKe3DJHyKC53QPHSHEM0wMIRXVmIF8bBuo= X-Received: by 2002:a0d:d80c:0:b0:58f:9696:842d with SMTP id a12-20020a0dd80c000000b0058f9696842dmr14019509ywe.15.1696802890622; Sun, 08 Oct 2023 15:08:10 -0700 (PDT) MIME-Version: 1.0 References: <20231006195318.4087158-1-willy@infradead.org> <20231006195318.4087158-7-willy@infradead.org> In-Reply-To: <20231006195318.4087158-7-willy@infradead.org> From: Suren Baghdasaryan Date: Sun, 8 Oct 2023 15:07:59 -0700 Message-ID: Subject: Re: [PATCH v2 6/6] mm: Handle write faults to RO pages under the VMA lock To: "Matthew Wilcox (Oracle)" Cc: Andrew Morton , linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 94D4F40008 X-Stat-Signature: opa3q3fuec5td7kp9c6b1hdjzumwnjtk X-HE-Tag: 1696802891-723147 X-HE-Meta: U2FsdGVkX1/jdK8i6Tgso9zCNKVCvzpdui/MTHe3u+Vrcy1NZLg/8eGv31GqUHFYG256e5+jpGvPgYhVLmP644yroke9760grukixPGdM/Au3Z+30R+sHZmi0JHeeq1mKvLbwuTTf6UU4Ae2g30qARlX+A2hrkMPMPjktE/aXf/mp2DrGl+lYaSvWzPtKlhPL3we/3DMBAkkxzbnJ37gpG0ran9HTeeL4t7LX7THyb8rncBpaEe4W72/rog1bRhgwuFsCMJYx09xA9pzRvAUFIuPJQpWoIPlzL28ipUsmnQmwVwPz1XklNE5fyqLZ6+445n5u0jxd1th1OXuxYxd7uD3vOMUcaMKJU5+wBWFTHyELGaD4SbiMdko1lWFarG3vh/eO6mLL0kjdOyqfoS+jez0+e5soMPG2VNsmg6cufyPvbhMWgRsIbsl01TavlVcRDHHPQdZh1w+Ro/Q0wriSn5p0xWC3JfFogcIQmcPkOtKw+k3ZfboMawAlTTdfQSI3VQSfX1jtwLHVk8PKwYAYOI/8Hnx8ghP8O2gdrspwL9qNtiNLrQ40sQgbP3iQX35BotHMtQreXBFFIIp2uWB/ajI5PXZAzyVNreDui0UiTpBLe2jYdxLE2uJxQ2Hi8mehX+eZGpGNWdfOM6ACBtHxKrKbU8IO2WWrysRw4azMWgpne5FeYoy8vLanOU3z8K4S5NMVSHNida3vZBloT1NYC9tFBwM1KME8G0XsYOs7+FRHGAYbToxEXljXl56RtwYCbpeTWiarlgCINgbjfVJEALKiqX+tV/IZQNAOKxLfmH+hGx7qmugDl8ohIIG3p0L84CDb9RHflQugBT6hd82S1y0prKCycqbh9ldKMLhSMBrwkw8ljJIrAVOf2dSKS8uCwiaAn7So35SmgdfHTjdksW9TtrsEUCODArUP0rsljjXrkoDq5932Tar+X6HzNfJ2osgAvZuRff2vlSUnpU Ue9ZKIiW x7z9HQ/BQSB2hQv5uOQdwSLatuMEJ6WBhmF6qYtNtBi68s2nicX2OOBBO/Mpqos+gCVr9qS7i7EFvYQwlF9VfxljBRhuKsruC/FaBG5S/Jriy0Ab6s/m5/TgOsEArJrZqR9AgJZJ8gFVrRabN2V/cc7D+opb78IEBoqOICbYceHluJL/1vjwL8zwdoJiCm4xeAcqD4KGPErijA3/Lgzf7Yq+JorRu7bDg5mEOWoREm3c9gMmdhkmS+5hcXgcBDusekhaDO6YYgjFnHeR8lTJ/SFBJNnXxxplgMl5Cxf957xcUgw3hDKZKVIMW8g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Oct 6, 2023 at 12:53=E2=80=AFPM Matthew Wilcox (Oracle) wrote: > > I think this is a pretty rare occurrence, but for consistency handle > faults with the VMA lock held the same way that we handle other > faults with the VMA lock held. > > Signed-off-by: Matthew Wilcox (Oracle) Reviewed-by: Suren Baghdasaryan > --- > mm/memory.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index e615afd28db2..3d1bc622e344 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -3301,10 +3301,9 @@ static vm_fault_t wp_pfn_shared(struct vm_fault *v= mf) > vm_fault_t ret; > > pte_unmap_unlock(vmf->pte, vmf->ptl); > - if (vmf->flags & FAULT_FLAG_VMA_LOCK) { > - vma_end_read(vmf->vma); > - return VM_FAULT_RETRY; > - } > + ret =3D vmf_can_call_fault(vmf); > + if (ret) > + return ret; > > vmf->flags |=3D FAULT_FLAG_MKWRITE; > ret =3D vma->vm_ops->pfn_mkwrite(vmf); > @@ -3328,10 +3327,10 @@ static vm_fault_t wp_page_shared(struct vm_fault = *vmf, struct folio *folio) > vm_fault_t tmp; > > pte_unmap_unlock(vmf->pte, vmf->ptl); > - if (vmf->flags & FAULT_FLAG_VMA_LOCK) { > + tmp =3D vmf_can_call_fault(vmf); > + if (tmp) { > folio_put(folio); > - vma_end_read(vmf->vma); > - return VM_FAULT_RETRY; > + return tmp; > } > > tmp =3D do_page_mkwrite(vmf, folio); > -- > 2.40.1 >