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 A0B84EB64DD for ; Sat, 8 Jul 2023 23:10:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0F7EC8D0001; Sat, 8 Jul 2023 19:10:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A83D6B0074; Sat, 8 Jul 2023 19:10:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EB1508D0001; Sat, 8 Jul 2023 19:10:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id DB5D66B0072 for ; Sat, 8 Jul 2023 19:10:21 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 971A6401F5 for ; Sat, 8 Jul 2023 23:10:21 +0000 (UTC) X-FDA: 80989990242.14.CFED603 Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com [209.85.219.176]) by imf17.hostedemail.com (Postfix) with ESMTP id C52B44001A for ; Sat, 8 Jul 2023 23:10:19 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=aC4JvRwH; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf17.hostedemail.com: domain of surenb@google.com designates 209.85.219.176 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=1688857819; 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=bHBmqS8NwC99Z9QtRqyVciJnx9vOvvM1ypQPd7HicZU=; b=OGcropFEnDlVHiRB6B8q0v3TefJWN9Qgdofo/i88y9Rm7IjOoMqiv+xTHGIDAgUS0/4MJQ ykqaG7kHZqumsbVPVUH08NXUrI6ESYTXWVY+rgHfU9lvbszK/xtQYhIx55fcoO6X02tuU/ DQfZk2v1msQtUsEJXRYhSIfREYzPu2M= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=aC4JvRwH; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf17.hostedemail.com: domain of surenb@google.com designates 209.85.219.176 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688857819; a=rsa-sha256; cv=none; b=gxANJAUr29nVI0i+R+mL9AtGhm0Wb2ArxjjdU3cM5/I+L/NUYi0Mn3+wPGSkgwGYft8BGY a2WNopEDEmmtY5wq1+OBOYVy+WsPLOv/36NuSt5edcQybgak9lOBYoIxgqzY2hb5DB/pJm +ytiZ2cQc5kpk1SZinUaLSE5gfgFvOU= Received: by mail-yb1-f176.google.com with SMTP id 3f1490d57ef6-c6e4d4c59bcso2645226276.1 for ; Sat, 08 Jul 2023 16:10:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688857819; x=1691449819; 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=bHBmqS8NwC99Z9QtRqyVciJnx9vOvvM1ypQPd7HicZU=; b=aC4JvRwH236lHuuVjAmz79NEJVSGu4y/lyV+aIB63wbpLAmWiLZozzV/UUf7clKQdy +r3PNew5EFTC1WrC/weTl9Rg4KI9C1loeR7rdfhvftl7bFZBvg+WX5rXFHoUHlwRccHG H5roPa9rNRZpaOd/D7jMAJ7mC2TUiS4BVHWIC8SW3iTtVDYqMAaGIgWohMK2lnVNoynB hJJZqyMf7CIF+Mjkeh/5GT66mCZKLJeXGdex0kJ7A1CYTZ4IW+10Kb5CuhiMT2XcDU2V USI9u190+1iYAZmtXcU8yuRMzj6cmZmjxLxj2oxypX5TZLV/7cn58g+QvYRPWbGj2IG9 isgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688857819; x=1691449819; 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=bHBmqS8NwC99Z9QtRqyVciJnx9vOvvM1ypQPd7HicZU=; b=Nd9k5E3b1JpIkowJ5WrKl5GpTVFgsOHgmsj3j1a5CxMtJNvuhdxGYekqXruSQgrvHX u5AAy7pxoQyPFiMKBzcnn7h0sBCdq+aD2mdMP76B0AIe1cHq1ivHZo2CHE+5GIfIRwJG eNMpXoIoZiu6LpYaQvwmZdqmIraG524fQfOGixDdJUkPe0L187ITbEOXIzfOqrMYHOmj qZaC86gt9oVZXl8k6OBOTmOaYmkCLyC6yiFzHbZu4+I4GlHRb3KwPgh7Qxnz8HBMVoed sGA3Yo7GvihsQSgtlIuoRHjy53UgwqfxLZrnX3sEdtQzYdmBmXyrnTxicitzZmwKFzDS a7Ug== X-Gm-Message-State: ABy/qLazXmz8xjPtUY383hwcpvBmf/BxVpnn04Mhwj1mrO/TKbzqlpcb YwHdiRT5BPsJFuY/HDCkfPG5/1XOBlqlhFwu+9qFiwlerj9bzy9oS/U= X-Google-Smtp-Source: APBJJlGlS5xEDkfZpc19JrLy3RDko6OpCb3oW1HWrIZs49KQqhT9ol0NyMJ1vIr071SbtX0uRyAhsa+cCc58DLTyhYY= X-Received: by 2002:a81:a114:0:b0:56d:2e66:bd55 with SMTP id y20-20020a81a114000000b0056d2e66bd55mr6858350ywg.3.1688857818674; Sat, 08 Jul 2023 16:10:18 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Suren Baghdasaryan Date: Sat, 8 Jul 2023 16:10:07 -0700 Message-ID: Subject: Re: [PATCH] mm: lock newly mapped VMA with corrected ordering To: Hugh Dickins Cc: Linus Torvalds , akpm@linux-foundation.org, regressions@leemhuis.info, bagasdotme@gmail.com, jacobly.alt@gmail.com, willy@infradead.org, liam.howlett@oracle.com, david@redhat.com, peterx@redhat.com, ldufour@linux.ibm.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, gregkh@linuxfoundation.org, regressions@lists.linux.dev, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: C52B44001A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: yufzpjqrj7pxytdywtnub5y43rx8ryzm X-HE-Tag: 1688857819-273123 X-HE-Meta: U2FsdGVkX1/icsdis55ZBYiWDKEZGUPqs/wReK6A/gAz5nxxnIb0xL0NrT0ueXbrLy9AZ7alEZHNDtd2d1k0cbZyBk9IO2yeEnBqTuPhdiGU81TDvGPjOc7F0YPkVCdGQK+siYvtXAal4BH8rksoTh1a811OVcTZF6Rgu273wTEWDROZamvaHeXqScV+/naH+WiRy4X9IlKRCbo7jZYpJMEB78eEQuPLhuCnB3+c1e5oGGe9yzE7OFnfUhalwKA/0nTB5ZoUx032wjD0cp4gC17y9B1Ia222RXXOjOUlPY1JaYZj+B/5lL9z392pM8eJuaCjfzkQ1O+7jupDIZQuJesJ7IYz3k6uTg3KX2zHCZlCvZLfo2lFBPwGUi6xJoiOX3NVXpQP2HoYLSci/2HGbxHWXd226wMT4U70m1EKNP9Iq+OWt4Go+ITLw47BJxyjVj48MczQ42kdd41I22defu88sALI8y58FKj77+iTY5RiUs7cJv3qNVK1GyZDmPZUStVsmzsJHtoGYCQlCbbr6v+IZwKimEb+qReh8djvC/a1TLwUgm1wVztz5KE/VaqBGjvcr2la1pmGdCEFb8iYPJPxk+yLryN1YQqbbPuDg06XH6kpVwor1ne2346o2av0Zn8gP6E/n6sACUkSNnBIsIt/bZcTpr8pDNiys3MmdsBhHBVl+7HpAJV7olWms6H6Uh2b8185Sc6HOUYQvbKjzPbW0ypsCJIBOYGY4frEPCTdgpLRtZ4zZnpsqe7mX/1YakbPl6cDNM9gQnQLxymv5p4B+nhfPsHpoY+l3VJMq8ZbgfrFYdpbAG+stfO4C/A0JBrZqkh3hKFt8pmS/9l4va7QgPeynOQGNt+JR01t/dcSbv7xqqbxATE6KF4sf7EIw7mhf4rHkdQUbU8lM084s1IHZPCB87F/aTQ0QY8rkDyAwK9ap16GvTQDA1mSW4XFBDLAkS+b06NbYMl61uo bIr0L4sg V85nK+rcj8jASahLT9edtCtvPhS6iB4oXGs49XB9q2ILTPVRFK/n1QvwJGloDwFdOIpkhi/T0yFRBCAxMbCslNDzkddw99amlghqLbD+d9H7PNFPG6zWhmAjWBYs2XC1xA6BpyjTIBoLbDJMP9StTfu7aF3JCv5iSAvhqLK24vywi6aNnREwhl4r4GQzIG2ItGG9RnjJkUfPdsrHXNAN4BSV191TCAbzASaHBLtIsOc3RZcTtmjO5lc1xWJIZGkKreWAbOvO0QsMPkZVzccFUD+6B2ouSw30IHspva3GTivzpgloomXHociFCbsLEWrgoX5uC2cCCEUgRXroKAhbxoO/4ygIybvfSUtgfgOvHv9qUMIdqhbhicqGpULVljQpdOq1O 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 Sat, Jul 8, 2023 at 4:04=E2=80=AFPM Hugh Dickins wrot= e: > > Lockdep is certainly right to complain about > (&vma->vm_lock->lock){++++}-{3:3}, at: vma_start_write+0x2d/0x3f > but task is already holding lock: > (&mapping->i_mmap_rwsem){+.+.}-{3:3}, at: mmap_region+0x4dc/0x6db > Invert those to the usual ordering. Doh! Thanks Hugh! I totally forgot to run this with lockdep enabled :( > > Fixes: 33313a747e81 ("mm: lock newly mapped VMA which can be modified aft= er it becomes visible") > Cc: stable@vger.kernel.org > Signed-off-by: Hugh Dickins > --- > mm/mmap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/mmap.c b/mm/mmap.c > index 84c71431a527..3eda23c9ebe7 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -2809,11 +2809,11 @@ unsigned long mmap_region(struct file *file, unsi= gned long addr, > if (vma_iter_prealloc(&vmi)) > goto close_and_free_vma; > > + /* Lock the VMA since it is modified after insertion into VMA tre= e */ > + vma_start_write(vma); > if (vma->vm_file) > i_mmap_lock_write(vma->vm_file->f_mapping); > > - /* Lock the VMA since it is modified after insertion into VMA tre= e */ > - vma_start_write(vma); > vma_iter_store(&vmi, vma); > mm->map_count++; > if (vma->vm_file) { > -- > 2.35.3