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 131CAEB64DD for ; Mon, 14 Aug 2023 20:02:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A35B78E000E; Mon, 14 Aug 2023 16:02:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E5EC8E0001; Mon, 14 Aug 2023 16:02:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 85F9F8E000E; Mon, 14 Aug 2023 16:02:56 -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 713718E0001 for ; Mon, 14 Aug 2023 16:02:56 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3AC68120C34 for ; Mon, 14 Aug 2023 20:02:56 +0000 (UTC) X-FDA: 81123783552.10.C07A866 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf03.hostedemail.com (Postfix) with ESMTP id 5CA9420022 for ; Mon, 14 Aug 2023 20:02:54 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=pDTGgMZB; spf=pass (imf03.hostedemail.com: domain of jannh@google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=jannh@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692043374; a=rsa-sha256; cv=none; b=H77NYcbizjRfMBiA0C/No5s7Z25oa/mgOSXKf6ESLAl8EWKXi0+qWnnOO7Jg7jzwsH/Su2 oNFpABb1im42h55Su/Tbr308jlNzliroXs9xvQSxs3slJnGtsuZjC72lEmxppoMiqmlLRo c+Hkd/HbHUaIfI6Kt/mAetI9VVWZoeI= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=pDTGgMZB; spf=pass (imf03.hostedemail.com: domain of jannh@google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=jannh@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=1692043374; 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=0A/tNfxGPsJHc4cQLFJlQHB84qlu/IxeBmLjoZv9mp8=; b=s4DSj+IyHRuSPSVc89ES8/6vmiAbihR+ydPQCdntZfeqJMqFvNcHXaMzhN+eC73BUhOPti HhZai8QSR1/nvE0MzoO4hhAkmSpjV4+wjI5reA54QUBdSFqfVkYb+2DD+ZQUXL7oc2npCU ylV3YXtNkpZGXnEC0ThJ9TVqNuHOiCQ= Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-3fe32ec7201so3395e9.1 for ; Mon, 14 Aug 2023 13:02:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1692043373; x=1692648173; 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=0A/tNfxGPsJHc4cQLFJlQHB84qlu/IxeBmLjoZv9mp8=; b=pDTGgMZBUgus0tq4Ys5S7AFUaN/kDow8ur6MSITWWabBDD/ueOxgtf+d9iOoyDr1ka oQ4ZSOx4fJDYPnRET4DuD0BVVSBnK0RkIsJG+O208OOpxHoB7E0iFKJmndnWDCGMOzpW Q6SIy32E+U1GDJ1LmtFgaiqgZ1wydPmvXX6KGRxXjWLecQ9m1RFO7Voog3qAMm5FlAQr Ka7Pdy93jH5oulHxoLLRePVmB/4YwDUi7suQdllLegQZEuxVMGTfVFYIsQ0Xwzvn0H66 cqTy/+AeEonnf9Aiaitf5ZOcIiosbwRDSCylchdvDjVA/FtR8zaKkmK8aGGfGB/6PKXr rRmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692043373; x=1692648173; 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=0A/tNfxGPsJHc4cQLFJlQHB84qlu/IxeBmLjoZv9mp8=; b=N7Sw8bWqVQJklUJ9ux1RWgYkB/hpqlzdWwXXmEi1T14+aRfONO+wxvfEQOmbtDC6HR SmmIUBSdbGkqiN18UrxCoBBjnFRI/kSW3gboT+5z+CKY4XN87OjhvyORNHcKy7Klc61M eDzRAAkZFjaztgBMz5XPh1vMH/hwc6gjuEBddP1wjSL3Y+F3y3YV6pbw0cuAspbpHHbG 0NY1x5zjg5zV9IwQ0/KDmATZMO3OOKwfQpjdeXaEs83jDV7ulQDPc+L2p8JHwmIaWmVq vyOaquCUwxi8vatx5EpzubUZ0OIT2Tj6iCh4UokZ3ZgRcKi8SThCgebOI+QsW34+WUwH LlKw== X-Gm-Message-State: AOJu0YyVi4oroiqEr8lEZ6wubDfNz1jJeGMi5eEvNm6YW4rSElNPqu5S eAud/k02UPDral2GnFH++pQfehJtoo5/71JZlFOaog== X-Google-Smtp-Source: AGHT+IGGliV1fgsKg3eVDFnlJBREzouQtAzNsHcwegIwfrZDczxidsuUDlItot4A8Z6DwSDMOOl6CsrSRTkgz2FLGoQ= X-Received: by 2002:a05:600c:286:b0:3f1:6fe9:4a95 with SMTP id 6-20020a05600c028600b003f16fe94a95mr339090wmk.4.1692043372571; Mon, 14 Aug 2023 13:02:52 -0700 (PDT) MIME-Version: 1.0 References: <20230804152724.3090321-1-surenb@google.com> <20230804152724.3090321-6-surenb@google.com> <20230814121521.83c2dda21765757d272538b2@linux-foundation.org> In-Reply-To: <20230814121521.83c2dda21765757d272538b2@linux-foundation.org> From: Jann Horn Date: Mon, 14 Aug 2023 22:02:15 +0200 Message-ID: Subject: Re: [PATCH v4 5/6] mm: always lock new vma before inserting into vma tree To: Andrew Morton Cc: Suren Baghdasaryan , torvalds@linux-foundation.org, willy@infradead.org, liam.howlett@oracle.com, david@redhat.com, peterx@redhat.com, ldufour@linux.ibm.com, vbabka@suse.cz, michel@lespinasse.org, jglisse@google.com, mhocko@suse.com, hannes@cmpxchg.org, dave@stgolabs.net, hughd@google.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 5CA9420022 X-Stat-Signature: m3cyu7ziout4ku5ukg1oxn4xsd7rdoe9 X-Rspam-User: X-HE-Tag: 1692043374-456696 X-HE-Meta: U2FsdGVkX18Ayy4LJz9uCqvHAj3DdwVMV+K2j0xpxaicj0Ob0ZsKEMYVzWc37zinR0lkFOidPom6F4MFcp4jAJhX2+pYSv/VJcfB3yTjS01LR8XCV3wXR8ML6j41iAMOZvDBBifHfPLyEFtUOEwtcKDOYdGJ5utLlyiLTOTlrNPqTIt/vwQkHPI07j36TZDX+HKpoZSArs/xsix2QmP1H1pHfbRWW3S6Xr6TzCtHRJTC3orhe10OUP16IXDeOfCU5e2N5VPUsTCAuIgkW/j8MLOWHUrIxI4aOdEoGK81BzKaZLnHTlk4xq5I6a7x7fWhYR+7oysnkD7LwTU8usaWjbyTyXy6e1SvMMtjEXSnb/sH1dDY8G4n10Z2vpVwTKvBV4H+rgYxjilWvWudcakaezy608DLC824miyOeJ/ed8Mj2NstD7uLi/SueGYXjOvl8dMIBn8eXDDfZ8hMab4RpTEtsbvm19ow8x+syVp+srl/f6sIAceNDs6kyb+Yi2+hOb1CSYY07f2WmaCaHA1ksQyhDyds1o9YZ4i8fLMXn2E375VuWkP1C11hwJcxjIjhALbNCjDhI1FZIasYpX4h0hh5REIHSNuFOCcpYC03dLZb/sxOL65YPDJxkIXRHQEyIzhTWGXcEYyINTWSj5Cz8/xtgotwdrUn39ayY1RKwO1cDD9ubZqotNzlW05a6oEucFMlGYvn4m4K/UUDra+uFyL7+8LekySbmPvVbpsUvSaf/2kVMI0AgEhEBa69OMIEch5UMhY/MVel3Md1zMjn6vHxsEawzOSOPU0VcaFdJxr+yBenSIEFbJE88tWtjOz8opYRG8lZ41K6WpFK4GqzmUmB0PriCxHz5Gilappc9Kf44s4+4gAFW9msFVai1Be5RrCQa1rrvNU0RJkghCLWFuz6gZIWhCsrbl4xEUkBAZ3wb36AcUO6sMxD9YpomdjQZSVQwT3NHCFA1TBIoSy HDwAftd2 fjsepQeKZxPtxU4Xy9CqVE8pbVeavlm5ZG05yd9dEppIgUXb6LQNA5QWOrB73DmgGFO9nhZ/whBw3uAHUeKw4vnii1z5NiOIyMfJltHu2NkOc+kVPgc15llosUMsUuJsMUmbpw3h215DEOYF2pruizYImBEF8i5mTrvlbQqqbxBG6sXsnUnYUhVnUWCd3+P5u+uOAbEnVf3uCQ/IqYk1Qr7DdmrwSVrHfauJaeeoM2VcwgjYnRpwlchgH9YWBoz+By+zU1W5SsyHseQ0n69I+YKFSpOIgc8+8NkfLuezHJktI1INcM0MlYl0TbA== 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 Mon, Aug 14, 2023 at 9:15=E2=80=AFPM Andrew Morton wrote: > On Mon, 14 Aug 2023 16:54:01 +0200 Jann Horn wrote: > > > > @@ -403,6 +403,8 @@ static int vma_link(struct mm_struct *mm, struct = vm_area_struct *vma) > > > > > > vma_iter_store(&vmi, vma); > > > > > > + vma_start_write(vma); > > > + > > > if (vma->vm_file) { > > > mapping =3D vma->vm_file->f_mapping; > > > i_mmap_lock_write(mapping); > > > > The "vma_start_write()" has to be ordered before the > > "vma_iter_store(&vmi, vma)". > > Thanks. This? > > > --- a/mm/mmap.c~mm-always-lock-new-vma-before-inserting-into-vma-tree-fix > +++ a/mm/mmap.c > @@ -401,10 +401,10 @@ static int vma_link(struct mm_struct *mm > if (vma_iter_prealloc(&vmi, vma)) > return -ENOMEM; > > - vma_iter_store(&vmi, vma); > - > vma_start_write(vma); > > + vma_iter_store(&vmi, vma); > + > if (vma->vm_file) { > mapping =3D vma->vm_file->f_mapping; > i_mmap_lock_write(mapping); Yes, thanks, that looks good.