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 B1C77C05027 for ; Thu, 26 Jan 2023 17:27:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 52C4A6B0072; Thu, 26 Jan 2023 12:27:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B4E68E0002; Thu, 26 Jan 2023 12:27:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 356398E0001; Thu, 26 Jan 2023 12:27:32 -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 256796B0072 for ; Thu, 26 Jan 2023 12:27:32 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id F1DB3C0943 for ; Thu, 26 Jan 2023 17:27:31 +0000 (UTC) X-FDA: 80397631902.03.FC4E7AF Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf07.hostedemail.com (Postfix) with ESMTP id 0ABC740014 for ; Thu, 26 Jan 2023 17:27:29 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=mlhONz+Y; spf=pass (imf07.hostedemail.com: domain of "SRS0=tNS5=5X=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org" designates 145.40.68.75 as permitted sender) smtp.mailfrom="SRS0=tNS5=5X=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org"; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674754050; h=from:from:sender:reply-to: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:dkim-signature; bh=XG1d8WmhnesEjW0ClaBNIMqXcIRSyp2R/pS05xeHriE=; b=qK2aUiFyEQ6FS6ulnwAO2S9f0NagyIyG8bsBoyPBoAfxKTF8jBDBRQjF5RyP7PWURUpGrK 6KL1VrnZqRntWWlgl/ZVtg3XILo1gpixxmgW/jCUxRczgqewU7StoN2NeQRBd+lipDsLNk 2gTNST86sgQXtS74+/R327GjemDUWcM= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=mlhONz+Y; spf=pass (imf07.hostedemail.com: domain of "SRS0=tNS5=5X=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org" designates 145.40.68.75 as permitted sender) smtp.mailfrom="SRS0=tNS5=5X=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org"; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674754050; a=rsa-sha256; cv=none; b=OQr+W8lrzndg9uli71uMW4xq8yHMOIeu+utFG/fLWBVD77cmSu3VXC3HrwhYseBskkAvyk iD0/wE7Gtg3ptQTqoPt9Q6qFmHJFQUXg9w1ZaiAgpHiYiMxrfiTRWjOo6s9kCHzAGnX1uf nXtcRYrKgDb4sXqrWN2jEC0MNWrY+nc= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 6C466B81EC1; Thu, 26 Jan 2023 17:27:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1273EC433D2; Thu, 26 Jan 2023 17:27:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1674754047; bh=C9DPduSJN49w2aJL07oo9HEwA59sZ5h+51ZoAP6pWmk=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=mlhONz+YVANknW+/iMcnirDtC6dO3xyzjm3nJYRzU0F6DqW7fAAdspeFnq5ApVpqU Yq2FkJiO4Rua69tMlM7obKQe1TS/ks3E1MaxZDd3l887LTVFRbJ8rvRK50yA8rX+G5 2Zny67+NCrk54BZJVc9bzvkN1FLByAarCaE7ApKq663ecrkaK1jtFWgydyrP/dPKX4 WTnrYtu9O1KzwNfR52+J6AB18LXI7tjZLwpmcaKY9uLDYoSF8mrhXSFOSjs2Qux2us Oz6TWX6/34uOAePk5LKHlLRPBoNFLhLl7wq+bmJrY1iACaf2t9Tjc26kiTWvRO6NB5 xlmU8DNaGJQyQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id B2AE15C0510; Thu, 26 Jan 2023 09:27:26 -0800 (PST) Date: Thu, 26 Jan 2023 09:27:26 -0800 From: "Paul E. McKenney" To: Andrew Morton Cc: Suren Baghdasaryan , michel@lespinasse.org, jglisse@google.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mgorman@techsingularity.net, dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, peterz@infradead.org, ldufour@linux.ibm.com, mingo@redhat.com, will@kernel.org, luto@kernel.org, songliubraving@fb.com, peterx@redhat.com, david@redhat.com, dhowells@redhat.com, hughd@google.com, bigeasy@linutronix.de, kent.overstreet@linux.dev, punit.agrawal@bytedance.com, lstoakes@gmail.com, peterjung1337@gmail.com, rientjes@google.com, axelrasmussen@google.com, joelaf@google.com, minchan@google.com, jannh@google.com, shakeelb@google.com, tatashin@google.com, edumazet@google.com, gthelen@google.com, gurua@google.com, arjunroy@google.com, soheil@google.com, hughlynch@google.com, leewalsh@google.com, posk@google.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-kernel@vger.kernel.org, kernel-team@android.com, elver@go.kvack.org Subject: Re: [PATCH v3 1/7] kernel/fork: convert vma assignment to a memcpy Message-ID: <20230126172726.GA682281@paulmck-ThinkPad-P17-Gen-1> Reply-To: paulmck@kernel.org References: <20230125233554.153109-1-surenb@google.com> <20230125233554.153109-2-surenb@google.com> <20230125162159.a66e5ef05fecb405e85ffec9@linux-foundation.org> <20230125173449.5472cffc989dfab4b83c491d@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230125173449.5472cffc989dfab4b83c491d@linux-foundation.org> X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: nmzr7cyemufp3w61akrjizqzdr3g69ec X-Rspamd-Queue-Id: 0ABC740014 X-HE-Tag: 1674754049-333244 X-HE-Meta: U2FsdGVkX1/FfSr9W44X68lr2SJQiE0G6rAsOKi7B9hH6jFjUDrEKgKnYl6b/Ayu67QpNkmvNzISKLNDkm1fptg7fi9Eqs7n0I5daCuDJnS4f4y7+G9DWR+JOdXSriQUXSXlbmNgC31zJjdwvVeJwLZyYa3wLMoLs47MkoZ5A4OxyNGCvVKk2MBWoV0MsRAIdYmECemC5Vjcg1f36aiHliygBeJGth55UHYOd4zdTFyIFZQFNppMt/SllTGlRPNo+MCmiesMr7op8M0swa+g6cEdhkqKHdzja/am3Xp89jq9Rek5BlNlK8f7P2dxk42MVh0WAzbybvpjGzqvCFumEXF13Vy2CWUXWJRjRdtAS8ITG4In3WDzvIHCFHHJfG4XSFxISTtEySfJYgfT3SrY6J02fI0rmXUsi0K0JzJ9a05DRLgFFU83qQZuLQO3sF6ercUsRfkAsmnmzMsfnqPRJTHgtNYzZKL6DQ+MV/pWusOUVsRZ0MDrOYnddtB4yfR8qWt239An0tyPxhgonuAd5/WPKdP9syTOJ4luzLMzjE9rud2aNQfUuy4UfVixMfw97Ei74SZRjYi1kx/ZU8j7OCgUewRnz55JiK7yR+c5K38NM4PKZGqy75ZEQOXyoVU8GupVMOr7nrUXEv4XsvUCEM60ZGZmJ9GBJhsX1Ez+u4Ip4nSSXG/PvI/RQJR7jypp2xxKRnUiJEUnAAlmY7f6OTTW/im71PxE699vEBDi0QDB5TR8/i7vpb8/6V9pj7exBYhdKpXm2PFxyiSlLnv3jBzTqEXTY4EV6lD+OnXc/fgBeoXQ+uh9BXpQ9Ggdpl63/MLtFghCzQelYggoa2TyHOa1n2y4g69IpVFOIf5EfwmdexCQ96vwZPHWzCRVcsT5Hx3qAeAodVpDhkdB+yfEJft5T00I1TT7cibHYlj0kIKvy+ondaH+/H043FDHsyzKG2r4mnzcmvchv+2H4Xf boQVges0 XBozmFQXBh9eHjcyk6L9LC5RKa9dJkEbFLu0b9t8XS1XW1HAczdh0/Nbw6oNAVKdd305F0jRAnque8QGQ0Ixw88bbfm5N+hypxL1fx/ehLMbk7v+kXy2FZlZJ2NWgQVeJi4vjaB2bdqtP5RRxuWw+8q1Zse5ANIiOy2VzP+JCS/dGmAlOMia6P8rapoGOsq6eeKbV8aCPlriXyABM+uFpV0Cfkr/A4ZaIiNfoC0AQKPJr7oxgUeP7T56MBsUGv7Dxv8J1V2DbrGknfy7AeTJ4wzvAuD8JVjeQnjWI5uKl6WZmpVoK7BvotQQVYgwl40emeVvAemykVuCavCxcPF3cQp0Q2pcm8OLJ6q+H1BfuRrS41htquAuilrCXR+cfUpkWiMGe1MCfVbMjMRS/FlWZtRGhkbyZJEIw2ffkFk6l3feyy/7PxdWfIfjckw13MvDYQwJrZbmDn/PJEYOd/GpbrYl1CsQeeW6sto3I8D8L2tU3/T3pyK2hY4+INhvQ41pnyaZA2XhPWIIUqqF3h3E+fqQibr+9E/vStVpK+puT2FEiM3+v6beqX9U37O1F1JIYtjBr9/ymHtvUiRiSb5P8x/BA8t/FnFCjXGa9BwmYShRFBnBRXHSYwV3g3TN7geiywWcV90QHWrHIrReqnvfWwASBVtqq9uulA5pxniCgDkTufEi2Cu1faUFcyMEHH6AxwGha4YJv38OCvg7XgG1juHvm/dxTmtlyfY5qJejdU/Y5vELzE/YakqRZa5vcBHWtIT0KYNAC+Azn+9I= 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 Wed, Jan 25, 2023 at 05:34:49PM -0800, Andrew Morton wrote: > On Wed, 25 Jan 2023 16:50:01 -0800 Suren Baghdasaryan wrote: > > > On Wed, Jan 25, 2023 at 4:22 PM Andrew Morton wrote: > > > > > > On Wed, 25 Jan 2023 15:35:48 -0800 Suren Baghdasaryan wrote: > > > > > > > Convert vma assignment in vm_area_dup() to a memcpy() to prevent compiler > > > > errors when we add a const modifier to vma->vm_flags. > > > > > > > > ... > > > > > > > > --- a/kernel/fork.c > > > > +++ b/kernel/fork.c > > > > @@ -482,7 +482,7 @@ struct vm_area_struct *vm_area_dup(struct vm_area_struct *orig) > > > > * orig->shared.rb may be modified concurrently, but the clone > > > > * will be reinitialized. > > > > */ > > > > - *new = data_race(*orig); > > > > + memcpy(new, orig, sizeof(*new)); > > > > > > The data_race() removal is unchangelogged? > > > > True. I'll add a note in the changelog about that. Ideally I would > > like to preserve it but I could not find a way to do that. > > Perhaps Paul can comment? > > I wonder if KCSAN knows how to detect this race, given that it's now in > a memcpy. I assume so. I ran an experiment memcpy()ing between a static array and an onstack array, and KCSAN did not complain. But maybe I was setting it up wrong. This is what I did: long myid = (long)arg; /* different value for each task */ static unsigned long z1[10] = { 0 }; unsigned long z2[10]; ... memcpy(z1, z2, ARRAY_SIZE(z1) * sizeof(z1[0])); for (zi = 0; zi < ARRAY_SIZE(z1); zi++) z2[zi] += myid; memcpy(z2, z1, ARRAY_SIZE(z1) * sizeof(z1[0])); Adding Marco on CC for his thoughts. Thanx, Paul