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 CC236C433EF for ; Tue, 23 Nov 2021 17:57:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 462D96B006C; Tue, 23 Nov 2021 12:57:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 413716B0071; Tue, 23 Nov 2021 12:57:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2D9A56B0072; Tue, 23 Nov 2021 12:57:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0254.hostedemail.com [216.40.44.254]) by kanga.kvack.org (Postfix) with ESMTP id 1B1C96B006C for ; Tue, 23 Nov 2021 12:57:04 -0500 (EST) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id D2EDF82D8865 for ; Tue, 23 Nov 2021 17:56:53 +0000 (UTC) X-FDA: 78840950790.10.32DD623 Received: from mail-yb1-f178.google.com (mail-yb1-f178.google.com [209.85.219.178]) by imf16.hostedemail.com (Postfix) with ESMTP id E1B7EF000098 for ; Tue, 23 Nov 2021 17:56:49 +0000 (UTC) Received: by mail-yb1-f178.google.com with SMTP id e136so61656778ybc.4 for ; Tue, 23 Nov 2021 09:56:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=zhBSENOcjRgENIr5y/hkg5ZA7piRHECklFcLpKkWeOU=; b=i8L0F+POA6/OG1wJdDKJ+V3RWIG3ljK/HPcc+zFAxc959TgzAdbmMTKWYL3nGZnIVz 6r43QYC2WIUP7ppTPEQ8F8s81273/JkfviMNp+wq/BsoyQK7JWq9ku5vShCXLM92dqLD D5oCArI1rhyWsUsWOAld+v7uzKloJVKVIfqpt78g79AjF3hqZHrdcMfsZ4YXk6ujELqQ cEnDpXhcNLFWjqb0mr/TK/OH+nwMiCci+hahnemfiHwcbPL4ZB/gHB3kVeIXc4kmaz1+ vrLMje1Ogb8oHxQbXLIcIhvzpxo+cKdWwOVfRLIDKb595QjR2L/UryHBx5FnyogIjFOD SuiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zhBSENOcjRgENIr5y/hkg5ZA7piRHECklFcLpKkWeOU=; b=VRVKM3t4F7rO2M4TzCH2l852prLSKs+9CdFSuBY2MtuxvjzKkfg3TpQkV2oRe4gYpq im49wntLH+SUWPDJdGRexZhf9f171C5Tqpqk2M40p40TiAt4ngSrtb6TsaG4xn6hJABq VfG1i3+RtpHcMSXve2FTZfIBAQxiDGB5e4alwkSz4I1+yfqkGVuk99gZQyzamhX+2+Cs Bc8o6J4+Y7Vtp+v/FMoUw5HHX2pkjATipIV6tdHwnITD/3K3OF475MXk5Fz5Z8n8H/da kazE+Cvq+Zp7Ab8DgRXUn9q+50Jr0rCrj8DSuMEaeiAJW8tk+DmEeePmYyIrWnH+RGIh hoQw== X-Gm-Message-State: AOAM530WZ5WpkqpTicw2wbeYRmI1kieG5/SV/a++pcBgPPGTzf2iaHPH uS6KCRD4hVfzPwMNDgXcbFR/eNaBD3iyD0KOi2OsuA== X-Google-Smtp-Source: ABdhPJwuIzMs0ujfhuW0hjM6tf1x63+EELDkBNf6nzkT6+D9tRn7uvgz7huY+84qHCFlkeJuoZsdvPv+FLqKzDlvo7M= X-Received: by 2002:a25:8411:: with SMTP id u17mr8441656ybk.376.1637690212376; Tue, 23 Nov 2021 09:56:52 -0800 (PST) MIME-Version: 1.0 References: <20211116215715.645231-1-surenb@google.com> In-Reply-To: From: Suren Baghdasaryan Date: Tue, 23 Nov 2021 09:56:41 -0800 Message-ID: Subject: Re: [PATCH 1/2] mm: protect free_pgtables with mmap_lock write lock in exit_mmap To: Matthew Wilcox Cc: akpm@linux-foundation.org, mhocko@kernel.org, mhocko@suse.com, rientjes@google.com, hannes@cmpxchg.org, guro@fb.com, riel@surriel.com, minchan@kernel.org, kirill@shutemov.name, aarcange@redhat.com, christian@brauner.io, hch@infradead.org, oleg@redhat.com, david@redhat.com, jannh@google.com, shakeelb@google.com, luto@kernel.org, christian.brauner@ubuntu.com, fweimer@redhat.com, jengelh@inai.de, timmurray@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: 8mtmjeg3ajudd1jpam1u9t198gu7nfux Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=i8L0F+PO; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of surenb@google.com designates 209.85.219.178 as permitted sender) smtp.mailfrom=surenb@google.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: E1B7EF000098 X-HE-Tag: 1637690209-686615 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: On Tue, Nov 23, 2021 at 5:19 AM Matthew Wilcox wrote: > > On Tue, Nov 16, 2021 at 01:57:14PM -0800, Suren Baghdasaryan wrote: > > @@ -3170,6 +3172,7 @@ void exit_mmap(struct mm_struct *mm) > > unmap_vmas(&tlb, vma, 0, -1); > > free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, USER_PGTABLES_CEILING); > > tlb_finish_mmu(&tlb); > > + mmap_write_unlock(mm); > > > > /* > > * Walk the list again, actually closing and freeing it, > > Is there a reason to unlock here instead of after the remove_vma loop? > We'll need the mmap sem held during that loop when VMAs are stored in > the maple tree. I didn't realize remove_vma() would need to be protected as well. I think I can move mmap_write_unlock down to cover the last walk too with no impact. Does anyone know if there was any specific reason to perform that last walk with no locks held (as the comment states)? I can track that comment back to Linux-2.6.12-rc2 merge with no earlier history, so not sure if it's critical not to hold any locks at this point. Seems to me it's ok to hold mmap_write_unlock but maybe I'm missing something?