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 0F796C00528 for ; Thu, 27 Jul 2023 17:41:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5F5C06B0071; Thu, 27 Jul 2023 13:41:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5A5206B0074; Thu, 27 Jul 2023 13:41:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 495346B0075; Thu, 27 Jul 2023 13:41:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 354EF6B0071 for ; Thu, 27 Jul 2023 13:41:21 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id EFE0C81118 for ; Thu, 27 Jul 2023 17:41:20 +0000 (UTC) X-FDA: 81058108320.26.BCC21E4 Received: from netrider.rowland.org (netrider.rowland.org [192.131.102.5]) by imf24.hostedemail.com (Postfix) with SMTP id 5328418000B for ; Thu, 27 Jul 2023 17:41:19 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=none; spf=pass (imf24.hostedemail.com: domain of stern+64c0f95a@netrider.rowland.org designates 192.131.102.5 as permitted sender) smtp.mailfrom=stern+64c0f95a@netrider.rowland.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=harvard.edu (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1690479679; a=rsa-sha256; cv=none; b=fKxcWBFVzR7vQKb2BxVWgzssv1posv7WQlpgIc8Yy8pBpKNcopKFzqpD7Z28aIWjtWXjP8 KEqWLsU7K1lkcU/dhjDqH+mVsEUBwWoNr3Dj68KPkvv5cQugx5qlAk4ufCyjb+lg4ITOuA fG+/eKKfmUc0W8EJrmowtcIr9c+lNGI= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=none; spf=pass (imf24.hostedemail.com: domain of stern+64c0f95a@netrider.rowland.org designates 192.131.102.5 as permitted sender) smtp.mailfrom=stern+64c0f95a@netrider.rowland.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=harvard.edu (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1690479679; 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: in-reply-to:in-reply-to:references:references; bh=rHpkDybl6DzxHBnlR9NZUlPmc8EGwOUpZKKkjoKQqJI=; b=QU/V27ZvcLHJbPF9ljB9arwBPuZ3HF7Ce6Q0E8sFFlE/+vhrd2ACi9yZmrFbxA0l9hdNoV NldJLmNaIXcQMUWS8fVxPNQ6CNvj3qPm4JhQOCu6HT7NPSmAcOiPJEMgr3VmK8AX4guzNJ JcLYZjihLKziGWQSr5YTVI/cPFP+DrI= Received: (qmail 11188 invoked by uid 1000); 27 Jul 2023 13:41:18 -0400 Date: Thu, 27 Jul 2023 13:41:17 -0400 From: Alan Stern To: Linus Torvalds Cc: Will Deacon , Jann Horn , paulmck@kernel.org, Andrew Morton , Peter Zijlstra , Suren Baghdasaryan , Matthew Wilcox , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrea Parri , Boqun Feng , Nicholas Piggin , David Howells , Jade Alglave , Luc Maranget , Akira Yokosawa , Daniel Lustig , Joel Fernandes Subject: Re: [PATCH 0/2] fix vma->anon_vma check for per-VMA locking; fix anon_vma memory ordering Message-ID: References: <20230726214103.3261108-1-jannh@google.com> <31df93bd-4862-432c-8135-5595ffd2bd43@paulmck-laptop> <20230727145747.GB19940@willie-the-truck> <13dc448b-712e-41ce-b74b-b95a55f3e740@rowland.harvard.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 5328418000B X-Stat-Signature: cdijyq5sxx9iann71tmkd711c7ztibhz X-HE-Tag: 1690479679-865879 X-HE-Meta: U2FsdGVkX1+k4Yuz0Of80mGeecdJc5I6GuCA/6nizPfeAZbZBH3K2QSyNmblJbtcy81F3nzUOZYJkVR+FBeOGuMyG8LAuulUckNYDxiHlTtpfA7cBOyHga4rG9nh/cZfSKIOWVRSW6IrdRBbeWAR+lJmaEfzMrZeUiiNiF6THx50E6eLmMo0Ok5ueRCnr10IqiEDO1fjKM99VR7LektRXxogNypq80AIPUXoFlKarATsVga90De8hRAmdYrhaw6de8kzeKL8EoFwtmNM3q6ct1zp+QyGyvCqiwkXuT3d+nJujnSckwNdTDnplVhQObQCQKTX2Q1fcaWpJxNUapAEbMneOJTrIggkpgZ22MI0pfXVQnxDz83RyyXuiXMDUK/WDvP7kMIVUT+2QSkUTl8Me0i7uTl6nEQPLd3VSzGExDlfMWjbq2EZ0AiIib3p01cdRjZvZE3mIcWY+oPzN89nDIsytfYVvSFGvIgZJWKgKn9A1RgiuuUlcrsWlJGaJ0d1vlYEo2zUu1LRnqziWcol8y0J7YIjMR6ZgSnuPrtf9WDU5Rrh+g8KZKgeymyrjiLhG9E8jfqloKB6vTaq/AztIudTz4QdZqj0ws4fODOT0ciR1HrT97rYt0a1rgyrvsgjA/pQjO2WHQUhi08wBNXkHpB6umIUj0vGCPFfI6X/JpRpkQjQ6UlcaKxumAwgrmqvSnkMwkkhuzFPi2GUrO6082lZ9mAuIlisicP7rIyLiX9zwhhvEvHXaie6uqvaaMJDB2sjlwDLU3vWP9kba2sCRz0znHE+3W60K1sxriZ9J42k+zbZhH81pl2Jyodv3/U8fXcW9QmlpDy1nMOU2ndIwQESQjvo1lcQlDku49lUd5PIMGpkYyfhcOCIUBdaxn9DIKobroOqzSwzwz/f1qNcc0jEnjMogEQQKsdUr4TabDXXsQ5/BCtZK1q9Wo8zv2ytysiPHZYTG+PSGZGwJ53 krImT2oF cofox7L/TqkSxa0PW2HSYzbZ2yxQ6eSw2Pjuu95VJuwG6Co3SGmkgYr8po8KdaiefvsDKbvVJ4Dut87OmpclJ6vK1Khnl/1DoIHx4iNbILrYoUZkNSsWzBL9lT9MY7PNM+NPllNeDnqdbd/5YtFo6tDIgH3F7II2bZsvIaXfTKmjEWCnhNfyk6DRQmpmzf63d25QtmZTJTVO511YFjPv+4kMVU8D8ATNNSdCfeCLslC+gujYXh9qSAPYlSpc7pY7mQuPKJ1VOe6mUyxLHReKOVFzL+aonpr/yVN5Tqn+EjlW0SDlXwouh+9AbWjeud5CP9IaYymE6Y3l7OospxDL6TZMrG90DxHmn4KzvAbi77vLFWau1w2KiH+zzhqJzO5OTJrzVtcBNaltPuCRM+7m6ZGRBI1/5pIOWdCNkugz1u2HbIY36hpa88WC2mwLNWxNvsDzr 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 Thu, Jul 27, 2023 at 10:11:29AM -0700, Linus Torvalds wrote: > On Thu, 27 Jul 2023 at 08:44, Alan Stern wrote: > > > > This reads a little oddly, perhaps because it's a fragment from a larger > > piece of code. > > Yes. As Jann already said, this is basically a preparatory step in a > much longer sequence, and the code simply wants to make sure that any > later code (possibly quite a bit later) will not see a NULL value. ... > Do we even have the same-location rule in the LKMM? Yes. The comment in the source file calls it "Sequential Consistency Per Variable", under the category of "Fundamental coherence ordering". It applies even to plain accesses, not just to READ_ONCE or stronger. But in the presence of data races (as in the example that Will posted earlier), all bets are off. So if you want to use a plain access rather than READ_ONCE, you need to be certain that it won't race with anything. Alan Stern