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 9862AC021B1 for ; Thu, 20 Feb 2025 20:05:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 373946B0092; Thu, 20 Feb 2025 15:05:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 323B64401FE; Thu, 20 Feb 2025 15:05:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1EC456B0096; Thu, 20 Feb 2025 15:05:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E73CE4401FE for ; Thu, 20 Feb 2025 15:05:57 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4919D1226E2 for ; Thu, 20 Feb 2025 20:05:57 +0000 (UTC) X-FDA: 83141403954.20.620689A Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) by imf19.hostedemail.com (Postfix) with ESMTP id 405A31A0022 for ; Thu, 20 Feb 2025 20:05:55 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="TdOL/dGW"; spf=pass (imf19.hostedemail.com: domain of surenb@google.com designates 209.85.160.171 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=1740081955; 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=rNja6bf2CBLil5N3vi6N4tMwJOKIzlMCtRpPJd2q9CY=; b=qWjUegQEcTyQVq2lfKozLmKYruOHO/6GrknrZ1t6fbZwJLlII2yHF3KzcR9uRjt6r6XEsR 8jkobJVbvS1StO451/yWnhvrtxFs8s1Nt8ZMF3c3xdWeG+L0F8rs7hoPNnxvG8VTzyZtEk L58h7r0cn1UTeJKeEXwbNvJ7hawWZtU= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="TdOL/dGW"; spf=pass (imf19.hostedemail.com: domain of surenb@google.com designates 209.85.160.171 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=1740081955; a=rsa-sha256; cv=none; b=zeWrlbIP71R3jaXdirsONuEZ76spdSZEMMXmdLYRXgGyc51oy8RzNEJ3iKkbxJtC+Xbx3h XUiIf6GOqGX2jSHLGSweXRe7434RXTqmtLCTjuz1ok9UWWB+ROadktL/5a0nieDral8Tyn 1l7bJN6APC3Wh80eb/k1sMTjCiPsL+g= Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-471f1dd5b80so36341cf.1 for ; Thu, 20 Feb 2025 12:05:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740081954; x=1740686754; 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=rNja6bf2CBLil5N3vi6N4tMwJOKIzlMCtRpPJd2q9CY=; b=TdOL/dGWF/L/CIqbBOJxWO5BwNSDc9TmkUa/RVDcaJ+Abs0pooXDoPVJxbFLz8VVzs aiQ1NhybndfnFn+Xl+rNYziZHIczFcInHWFbL3yNngMGYWySYLVIS5hU6mUeAjRDTJyw OSaKwxlWgd68JtHqVsbof3qt9YxgzJmUrcYXs1sBU4Dm17sIHwennJzhQDKCs9HBmxlX EY1x9TnjY+Q29QiQyC5iTuqY7n/wlQ1fEJiMpnTiI2pq7+zo+gUMnTOPOdhbsavTKovI gQhlDE6SES1reJtNJdIxIPlz0GZDemBRJPrH6CVTPaTF3+1BAQxnUUWmFYn78s++7I9w DIwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740081954; x=1740686754; 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=rNja6bf2CBLil5N3vi6N4tMwJOKIzlMCtRpPJd2q9CY=; b=v965vmmAJBBl4/Wm5i6eQ2ytFSFnWLVCT029b4L1EiEPIWAf+bNH9PzChXRcvdqFpt HGgSxLbgoaVFbPY5YPIQiS4NbKIoRz0qN2JrRL/h308IH69p/QL6P+YQQxbRg85rYkYI mEhR5dOMEY1Kenh1+V46ee6ihcvtriA4gkUrWEh0U78mQtdvRIe5qeLqfRMTslRj/JWp DRDC0x+rt0jMLnn6h05LGMooHE6rBLuICd1+mid17zfsriCj5gbhsxz8eQNW4wmLJgIr JZyZZ695BtBDorrUvkpbECC7he6NbADoSckfM8gy8UaQDt5iYH4fdS8UsQPEZhUKquV3 ZZpg== X-Forwarded-Encrypted: i=1; AJvYcCUcb0DAoXIAQ4vu7pv3P2Fq6vMfc1gAAu7HGIIuJcm17IZV66ESxTnXg15ddkhGEkTWdLyWHltaRA==@kvack.org X-Gm-Message-State: AOJu0YxBictIqbM5qB6xRrGXcrn0OURMt9hVsVg3yo62erqb0RyJpEY5 JsshiV68thkKX9GPborA98GZ7jLXtppAmagV6UxNBaeYSaXSLMkfPoyZ0uGZhdu1yFgThhyXcUk 4pCVW5lWlrSsCtP4j99UbjoTouVExdDjTJ6dZ X-Gm-Gg: ASbGncse9Apmk54WG/8hi7f0gCLzWw0SPXdr5280dgxUEc54fjv/jTFgnoGKYiEHYGl FBcMPlwJj1EWYMrWt3AjDR5PL0XRjQZsp1dXysaHZ8mY6U9NT2iLF1rjISuVgO6BahY8Td26NJ/ iWa7B91j3Tjeq+yj70e2qVf/Oz+Uk= X-Google-Smtp-Source: AGHT+IHpz6m4G/n59ZlD8R9nrH67RBcmMemJBj92EGjiGmRxgpyfygUckCwhV73JoH60FmYTGhx1XKBybLiRY1/9bnM= X-Received: by 2002:a05:622a:254:b0:471:eab0:ef21 with SMTP id d75a77b69052e-47223afbfb2mr371871cf.13.1740081954006; Thu, 20 Feb 2025 12:05:54 -0800 (PST) MIME-Version: 1.0 References: <20250213224655.1680278-1-surenb@google.com> <20250213224655.1680278-13-surenb@google.com> <20250220185304.8313A7d-hca@linux.ibm.com> In-Reply-To: From: Suren Baghdasaryan Date: Thu, 20 Feb 2025 12:05:42 -0800 X-Gm-Features: AWEUYZlbD-smqwGs3rLt0rUzzc_SeICGoC9WORx4H6WlodkEvgawJox22U4G20I Message-ID: Subject: Re: [PATCH v10 12/18] mm: replace vm_lock and detached flag with a reference count To: Heiko Carstens Cc: akpm@linux-foundation.org, peterz@infradead.org, willy@infradead.org, liam.howlett@oracle.com, lorenzo.stoakes@oracle.com, david.laight.linux@gmail.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mjguzik@gmail.com, oliver.sang@intel.com, david@redhat.com, peterx@redhat.com, oleg@redhat.com, dave@stgolabs.net, paulmck@kernel.org, brauner@kernel.org, dhowells@redhat.com, hdanton@sina.com, hughd@google.com, lokeshgidra@google.com, minchan@google.com, jannh@google.com, shakeel.butt@linux.dev, souravpanda@google.com, pasha.tatashin@soleen.com, klarasmodin@gmail.com, richard.weiyang@gmail.com, corbet@lwn.net, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 405A31A0022 X-Stat-Signature: cqybcygy6ugjm9u89ychrbgs3qzru3eq X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1740081955-338392 X-HE-Meta: U2FsdGVkX1+P0uWGxlg5frIL/2IPJ/46/zs2UtGgqeS98+OAO0dw+XwmMsPvY0o+EP+FtZ4ng/nesL0kmsBVJPvHQxF7jznP6sbogKDhcZ27gxKcHHX+V+hV+VLnyPvbOaeU33QqJivX0M9OaB2Px2TGqiTwozI2FgWbaFusxogsqPBgXrYct9KSFm+iNcOVmjxa3Hdh3XwVOY2mOb79z7PVOgEk3aKxlMcFmCLmywUzt8luUMBnrBL1oOW2LNT9ZDDE3I3vzW8I2itqHmSjQcEUc1WSfpkGcD9G1lYYBdR2lnsJ9StU9dpJgzSS6gIF1HHV9IPKtrcfvMdzvgs46SnWxmHZ56Lh4zXrM2MFRcDBZ/OijoXnFljEZhoTURXHukO95M7p+SWrTn6ezEhmw0k6DUklTIgCt2vTgT5A0opbpCq/MmoRVhHfnuKTS7J8PSdOK4y9JcfG9AsHx/dwhcKColNqzZjro4WhE+XQx15YRVC/F87S9RU/YfngLuAh4mOWnxiWIKO81jF4MTXQMD+4k39kp+4066JCkWggiOF0HYuIon0go+TwOgMnlJbtj8Iat/yDG+Op+aNjysYFFz7lnsZiHpPsUk4XBxUv4xREeroy3orHCGyHaWMTxvxvdJCQMiFyxCVbH1+2REzSsWiJEmuv5X7NxDt1/MuY5fTvrthrxOUTdJdaBTDoUexFObpR2e9gfeeLRB1irdsU+R29qI3yPlhZcu1d+g1oiCQ0FFT7/EFidSeZTOcS74QBX7llpmU+UfrYlqu0GSYwGI6IeptAcQftG+tAy5ZMD2Y2O8vsL0SjUUk8O/93o+nwHXqs6AM6eXaj91xi/F7gkKir1xY8hXQbaobIiLr0RoVuKaQjB2b+fpu/gi9K2b0qWr6fUmVr0mOqSGIIn5VzabdEhpHV1Vh9DhyP9LHjFuDbrJk9+CH1aojh3n7ZeKnT//43LiljGS6ayvXocDv /DNpMNDO JMH3DMLixmggdjKzVZTvsaDCVL/7nRqioW7yy3/rp1B4eFHJx+aptVnr9ryCO2oWO88IdHIV8zsxlQ3AWXzJ2jinkwZoaUZnGLyi4ah0KqrT2LO0sPxHg50O2fgHvgLa0g8PDEu/JGGp4eQX7OdXzbt2PJIod11Hx4qoG0FMBm1Z1lCVCvoLnfWb3DXwa31121hckHeg077a9ahMpiCDX6eGY8Ewv0dIa/T8V71qPo/Cqo4BJYLvys9pqoiHDnrrDnRWkjn6lyjhY7D8mucrGmfvdg/FSCgvSuVO22bH6cmKLYT+fRTA2fkoIjp21Csi9bb8NK4y+QYnLhKS3ppxb7wfzO6BnCNh+jfBKUhtKkdjubCWDBcIYRfwZPyQap8OW5++shi6G9nvwCbCGBSUdYdqddlZgs2RyMSON1Ir9+7iQ8m8538wfrFmWazsZxe6lKfKs 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, Feb 20, 2025 at 11:03=E2=80=AFAM Suren Baghdasaryan wrote: > > On Thu, Feb 20, 2025 at 10:53=E2=80=AFAM Heiko Carstens wrote: > > > > On Thu, Feb 13, 2025 at 02:46:49PM -0800, Suren Baghdasaryan wrote: > > ... > > > While this vm_lock replacement does not yet result in a smaller > > > vm_area_struct (it stays at 256 bytes due to cacheline alignment), it > > > allows for further size optimization by structure member regrouping > > > to bring the size of vm_area_struct below 192 bytes. > > > > > > Suggested-by: Peter Zijlstra > > > Suggested-by: Matthew Wilcox > > > Signed-off-by: Suren Baghdasaryan > > > --- > > > Changes since v9 [1]: > > > - Use __refcount_inc_not_zero_limited_acquire() in vma_start_read(), > > > per Hillf Danton > > > - Refactor vma_assert_locked() to avoid vm_refcnt read when CONFIG_DE= BUG_VM=3Dn, > > > per Mateusz Guzik > > > - Update changelog, per Wei Yang > > > - Change vma_start_read() to return EAGAIN if vma got isolated and ch= anged > > > lock_vma_under_rcu() back to detect this condition, per Wei Yang > > > - Change VM_BUG_ON_VMA() to WARN_ON_ONCE() when checking vma detached= state, > > > per Lorenzo Stoakes > > > - Remove Vlastimil's Reviewed-by since code is changed > > > > This causes crashes (NULL pointer deref) with linux-next when running > > the ltp test suite; mtest06 (mmap1) test case. > > > > The bug seems to be quite obvious: > > > > > @@ -6424,15 +6492,18 @@ struct vm_area_struct *lock_vma_under_rcu(str= uct mm_struct *mm, > > > if (!vma) > > > goto inval; > > > > > > - if (!vma_start_read(vma)) > > > - goto inval; > > > + vma =3D vma_start_read(vma); > > > + if (IS_ERR_OR_NULL(vma)) { > > ^^^^^^^^^^^^^^^^^^^ > > > + /* Check if the VMA got isolated after we found it */ > > > + if (PTR_ERR(vma) =3D=3D -EAGAIN) { > > > + vma_end_read(vma); > > ^^^^^^^^^^^^^^^^ > > Doh! Thanks for reporting! I'll post a fix shortly. The fix is posted at: https://lore.kernel.org/all/20250220200208.323769-1-surenb@google.com/ Quite embarrassing... I missed removing that extra call. This change was done only in v10, so never appeared before.