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 403D5C021B1 for ; Thu, 20 Feb 2025 19:03:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A73ED2802BB; Thu, 20 Feb 2025 14:03:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9FCB12802A7; Thu, 20 Feb 2025 14:03:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 84F662802BB; Thu, 20 Feb 2025 14:03:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 635D22802A7 for ; Thu, 20 Feb 2025 14:03:50 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 046C6142B2F for ; Thu, 20 Feb 2025 19:03:49 +0000 (UTC) X-FDA: 83141247420.03.6509400 Received: from mail-qt1-f181.google.com (mail-qt1-f181.google.com [209.85.160.181]) by imf10.hostedemail.com (Postfix) with ESMTP id 1F377C0019 for ; Thu, 20 Feb 2025 19:03:47 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="cU/vRHtH"; spf=pass (imf10.hostedemail.com: domain of surenb@google.com designates 209.85.160.181 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=1740078228; a=rsa-sha256; cv=none; b=RUHc1bI4WN3lucmGsPgyEXH1ZX6q5JDNwqGTduIV51Bh9USVk2e26xBZJ2foKpnOLJAstV pYr/q2GIfj9fPF46M3plew5DpTYVpomJ4lM2nQC1RPlpgcFlkkQ3KDZi+RSjP3lCM9X+46 7tXL0FVyqurp/MZnBd11F/OkWVd2ZTg= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b="cU/vRHtH"; spf=pass (imf10.hostedemail.com: domain of surenb@google.com designates 209.85.160.181 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=1740078228; 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=VxiQ6wtOwdm+dkAsya9a3cEEzdO1LAZKevXVrkE5I78=; b=rDqIt2omG2MBn82KCl1IdKwFRdb5JjW4XAORGw9NcljwMe5WMu1V5cRPEdzqN1JM671Jv+ +kMKzFMx2XjjPW1DLjF9rFC34ZoeJge78WaFVtOTmGTFQZodx06wrJ/e5z2u763qDXSkzQ einKHrWEtJISn2yut5Ca0LBX9asXL+Y= Received: by mail-qt1-f181.google.com with SMTP id d75a77b69052e-471fbfe8b89so51871cf.0 for ; Thu, 20 Feb 2025 11:03:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1740078227; x=1740683027; 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=VxiQ6wtOwdm+dkAsya9a3cEEzdO1LAZKevXVrkE5I78=; b=cU/vRHtHgRnFsZE3fj30O0kuBe70qYQGzl7qQX8QFVzIeL2+3PNKTxlxO5UO9UpK8+ 7vGO6w5vnJEESBaPPDo36dPR5uAygk6i6QzJAzcwdf+idUdXCRHRI8GcOfp/E/nN9DgB FcHUbyNF5U0gi2DAO+HRYN71mcjVnjlPwSSEscTmdAw/rw3dwiLf4bSxAzbhmJCzcfmp RqIUyC2re8CSkyvBHsSvojDSApEEnxUIOQ6OPiG+58XxeJYGm3mWIMQzNXgBvEq/hV6Q Z/tQuJFbABxB/ZIQist9AUsAKwHklatyrq0kVR2VtLmMwXMUAHVBiTnB3Ki+6t3wkkwP UrwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740078227; x=1740683027; 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=VxiQ6wtOwdm+dkAsya9a3cEEzdO1LAZKevXVrkE5I78=; b=d7VvCcPYo/lbAQD0m0G7Zzh8cJuXwOQAQ+iCGut8DAQKuRYqUGU1RZJbgsfNCNWQxy 2s/jXV49jtXDS1rbI98PdWaw4pixJN+AoecGsTYz76cZVKcWoCIegKq8qxCplw8MyoTb n0t4YXBUGp6cmuy6WDJ8mH8uotW0uAlvVdo/6NbcjzfkLIzVkhK3rcwSb0m1w/7dwMe1 8YpjpWsdXrQ0TGhLOBXD3IaiGFRv1H4hLXGx2ZtUX+Q0Vc7twX7BNt5uAZ68eZNMb4a7 +rx2Jtb85HqzQsNdOTJsYoKeYttk6B2802ULJttZLihvpqGY0VT8YoTrfB5ANIhJULsC qFsg== X-Forwarded-Encrypted: i=1; AJvYcCUh9ytL2WLlh4DfEX4Rz83xpo2+Y6dSsrxOd4iAK6AmcOWvYWUHIPrJCZoB4CCQO+ivKUooUNCuXg==@kvack.org X-Gm-Message-State: AOJu0Ywj6mkgNjxzqbT+/m+eH2sMxnkrCSnw21ZwgnyY29JqQYJAb9ri DCsRnYQsEgc+SniLqAFXF2UuN1O2LC7P2eclB+Lveky214ERf35lBj3UmxEfzHD7TVjo7oKVRKl SmXCYpfPXsBwOTh+ygqreDbcl/y8ymqWR8RWx X-Gm-Gg: ASbGncttbrwHEwvL0e5mi93PqTRERWtFfBF4ff2G4sUvFJRTLmbPCuGWL+SsK8vef7E MXM0i+e1tMCzuDJv+kO+FjaCLGLpTO6MBtZVRw9V49aj2kj6vTGu4jW1T4W1Bcbbudd8wK3o+ X-Google-Smtp-Source: AGHT+IESP4lbni9JLo1iujP72rl0UncWhPZ3xqcQGvW9Vo/oQYynNgMZNvVxa6DNjIc9FvD6XgPJibfnmYh6QZ2GyiA= X-Received: by 2002:ac8:5fd4:0:b0:46c:7cf2:d7b2 with SMTP id d75a77b69052e-472238fc66amr85181cf.18.1740078226855; Thu, 20 Feb 2025 11:03:46 -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: <20250220185304.8313A7d-hca@linux.ibm.com> From: Suren Baghdasaryan Date: Thu, 20 Feb 2025 11:03:35 -0800 X-Gm-Features: AWEUYZnhHZmA7CKIk6-rs2tkls49oh6ILCc24Xt36DF6I4s6NBc5M1Lba_eQz4M 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, mgorman@techsingularity.net, 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: 1F377C0019 X-Stat-Signature: 54g7da4xqymgus71r8ygxyhh5ctp1jw9 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1740078227-32731 X-HE-Meta: U2FsdGVkX18sFc+Ecpa+hqvyKmoE0yEdXjgRg8fifB2cIhQn1fvqgLq+w+K7Ob02jk3UVaJ4UDZqUPeB6UFxNTphSRzIG65+7W3Q+9HiHtecag99EDeDpvNOkVk452fK7ptAdAcPqyhpXuD27uRt5VZlZ3eE7fF6wZa0pWoEPWoXOOi74Q6xs+ooR5E+T1zurdu5WX4TyGvkgPzrP9RBJsvgG/Qn/9sotgKE/X9feiEyVF8yHbfNZL5TdEEaXm/j5iW7rWA6AE4o4BRaPnLZ8SBVKmdvteQg3fFQY8jwABgkoroADvycdL8vUXOdb92kel12em4r5iJO7jl+hQ/8c727rYg10QswxPQllx1RpfNuAiAjgf8BkH0sHMTeeB0VkeZ0u+X1xPyWGuRc5mIkKeIdoabK/SJd2E1o5nsUGNtLoHUOU12BH23YrNixqB/MOfzObG58/8aJZOynwYiP+vvoBABh+7rOE7KE6efX/RAsZ6yWh2k2hV48l08f4DmvmWiIYBLwPLFSM7ilbjWX2MuSZ7OxhR8nA+tPRJX0n1MwAzpwG3/rCJW8kMhtk6wLyn58OAvjVzDmu5pNlh57lXWEpuCFF3fIFJ6Q4A3CN95sFB6GfHPGe9v1owvMsSn+Jb8lCZSzJevr7iHE3iVSz/dvlWOUpELGvda2h2Jz6nHWV4lC1kdgAVtk67wlH9yvcMzEzya27yQKuxtSl2JvgNlNOmn+QW6v2hvAo+SD9nSlt8mtg98xFhBNCJEtl5OHjv9qzCdhCsZHja64B9yPHYH+beh+h0sryJHEL+E44yTr7tGmY2DAOOEz+3OoUlh7dKptBA+NZUoBgB5eRFvv8V2Bo1Sa6NCRDWtIH6a5fz3/OkcUaKqWmJfhAxc+MLDfquyAYi0TDyXt9aNnUKe+X9tfil68CYShIhlxEvLrZtM3vTdmeZJZ10GtFpasNsyzETrSchaeLeClGCTtlBO so5rQ4Dz yb362MfV2W5ULoTDzgHSq6FHx3wFsMJ1xzpTCfFBu/b1WNrKk8oeR6LQFjmMN4uHbEYg/+9rpWDATnz6aBIH9BMvKqaIz/QEr3FqhcqvBFHbiEwkK+NG/ivAuJEwH4+vXrBLoTUMPBGtsEle4P6nLRT/yS1goFyQJzamHDE0BYn3XrNvjUlkHgccOyY72ExKOhqgHgBLTWgZZA90KDWidbxs1zr6pBisA/NADvaI52Aby2emmUH3gXxDeOnveQ5YwtVkolEwthPTM53U2lNNFwlT7xpqfBJKneaTZM5YDViYlqvyMbUhrGur13VANFw4lb+zBNP5vs6d224KPYfc1y5jlSXTCmITN0SBIcMyYxOan99kDJ8W88lmFJB5YvqVlLOWvF2/3VJh6mpdEOJ4pvH3ghamaLKvrNsfC 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 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_DEBU= G_VM=3Dn, > > per Mateusz Guzik > > - Update changelog, per Wei Yang > > - Change vma_start_read() to return EAGAIN if vma got isolated and chan= ged > > 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 s= tate, > > 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(struc= t 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.