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 ECBA6EB64DA for ; Sat, 8 Jul 2023 17:39:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47FFB6B0071; Sat, 8 Jul 2023 13:39:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 42EFE8D0002; Sat, 8 Jul 2023 13:39:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31D8C8D0001; Sat, 8 Jul 2023 13:39:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 20B366B0071 for ; Sat, 8 Jul 2023 13:39:42 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id DFD3CAFA0C for ; Sat, 8 Jul 2023 17:39:41 +0000 (UTC) X-FDA: 80989156962.06.A985218 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf02.hostedemail.com (Postfix) with ESMTP id DB0C48000A for ; Sat, 8 Jul 2023 17:39:39 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="pG41tN/N"; spf=pass (imf02.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688837980; 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=Ddv+nq9vgHR5Rjx/jvrZoh5OlVJP/ZM30tbcWDbznRM=; b=DiFVaSuuGYqxn16zmJHAfZQdKej+TZW/Q1O1XDsrdi4ytyMY1IQvZa5B/04UQbcyOaWB8g WHBB2ANKtrqes5rxoz7DOQWVRGPTev6tlVUtbFh++75f39vNS2+CL5mEItHL4OY7VlBcmU oUvO2AMZDOj16hx73RE/c4pyUz8QEFA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688837980; a=rsa-sha256; cv=none; b=HDSb1YTezxZ/lih+f7FDmDYXVO/mIsHAr22OvZBZYeDe4vpMKgoZg+Tmw3EJ7ZVZPK3635 cC8aNssCU+/DZBDvFdf2kDjgkxBWnNCLzBRop2VCU/m55z87zc+stJLVVl0cGat4X+O1Hp SEMSmlkSG8q1ZLrv0CTUajRJYpFQWQo= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b="pG41tN/N"; spf=pass (imf02.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AA3E160C0B; Sat, 8 Jul 2023 17:39:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE4EAC433C8; Sat, 8 Jul 2023 17:39:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1688837978; bh=drHKeMgcNL4TWp9p/P+2PrXQ+fcbGYyaIQwGHCxCj5A=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=pG41tN/NOuUi9p2O3xHgsxiCZm9Ur7qT6LNK6J41PNluKBPAFAfzwjkUk+IBoOqJ0 gYvAHLzr7CA3aWA+fO583UTJs0L4X9fZyeJsLRZhqu7fpJiCYldMckz2u+xwpVo7a4 m8F2vLyJTKNBUlLaocc7+8PhsfdYv6ml1+FfFGnk= Date: Sat, 8 Jul 2023 10:39:36 -0700 From: Andrew Morton To: Linus Torvalds Cc: Thorsten Leemhuis , Suren Baghdasaryan , Bagas Sanjaya , Jacob Young , Laurent Dufour , Linux Kernel Mailing List , Linux Memory Management , Linux PowerPC , Linux ARM , Greg KH , Linux regressions mailing list Subject: Re: Fwd: Memory corruption in multithreaded user space program while calling fork Message-Id: <20230708103936.4f6655cd0d8e8a0478509e25@linux-foundation.org> In-Reply-To: References: <5c7455db-4ed8-b54f-e2d5-d2811908123d@leemhuis.info> <2023070359-evasive-regroup-f3b8@gregkh> <2023070453-plod-swipe-cfbf@gregkh> <20230704091808.aa2ed3c11a5351d9bf217ac9@linux-foundation.org> <2023070509-undertow-pulverize-5adc@gregkh> <7668c45a-70b1-dc2f-d0f5-c0e76ec17145@leemhuis.info> <20230705084906.22eee41e6e72da588fce5a48@linux-foundation.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Stat-Signature: qqhfw13wby7xwayxm9g6nr9gxzk91bhk X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: DB0C48000A X-Rspam-User: X-HE-Tag: 1688837979-704234 X-HE-Meta: U2FsdGVkX19K4MYVmTZXQKfFSfRM9/Q5CG6iKPL+IxBApwAZ8/WqaU85TbY/GrcgVH2weqXvZZllpZ+ybsnoS6duSV1TrfTPydRr98MrbRDcegzNXnf0cYWl67YrRNe4nLroTMbymHNo/2LEUwAovtQHlck/iDsoxKsb0lJDYbmqodA5vzQ0I/RK7U29jARkAQhnYl22iXLGE7xl/puzLNcuLwpVMNjEwcxwnwok+R5pqIOAXKVdEZC+IieSHoeKIaE741lpT2yOhj4VbXu0s84pPPvwjqSpZwYOwnVWw1pud2RDQghef4fcysILTPwIXAjBSmLLMu3zLJFhOW9vW1cigtqINF1BVoHhHiVCifjINPi/lmna2nvEpNV55RWmQujSv9NEkNsMYzsa4KcKUFqeLopaMe+2Qp6RyTtFsXGfaiN0g6o7pq1O3yQx4/Ch0uAJWpc2oyEqKYjhYUfTy8Ki6oNoqLrPJ66x8jKObCAjSROHymB37FkyI27tcYD9GhDMcSUTOWc4/5rB36S8lry87YBOos+z1XvRttuVvZQZSUMsDWTrten1nnNhMKd1wg+BjszcVER/1+voAabh/k53xnVPZbgLFqECIKOpOw7aOVw+MnfRT7x6pK+iJuOKkVMJkZApAXe5BIGOk4hrZgi2kc4MyN4+2sWfS9P04vdOTQ9sYlODNXXLsKPPNJhKamUgUkliGwxGDeS3akSNa2Jq5MhxZ3K6oJbVyMbDbU5DDyJ+bwXBNe4il5B/8019iQNeV6B91Wevg6shxX6gobrunCGxgyOkaOAom6J72KfBdB3FrVpjQaBbd6PigA58SeBItwTxUkN0A+GMhZV9JGqaM3hLPWG/jgVaDDUjR6tmCUK8ttdTrqPj4q2caf0NW6EndnZwrgVkEV8JrKwTrCrGqaxshrFoEuWiiZHCPCEYKW+WYUDQv3835+B9AiMDE3GlmxVYrE9CZaxf93f 7sFoUtna uU0slUzNtcGsaA/eR8J7s8uYmLnYOXa+BTYIs4HBYcmUdfGVw25iP0qzM8pMXyF1uxqSLUsMCsQaW98SbMm+htOcTrs9tDr6FKJ0GlIocY6aTC6anfT63vFJCXu8zvz5IZbo52fskVFTBDE2djmqdcpZKdlVvNwGEPw3Krz1NoNk1kkG98VonfBDTPu1j7YBPRZe02L9zLsWXiAPLwlboX/JnZYOHBn8CaOdKplbW2pgsRG0/NpddAfj4u82esec5NeubFKP84EOmfrgRgnB9Q+1Qdi4FiUVcf94OVABtn9TEWGxRvVzHfasY9aKYf6J6AuHu5UNOx0TPtmeagpcML06U19MJKE3eSG5nCQfNN3Tb6gV577Zwa58UL5P2pmHj85JZpLZyVv/YGcevJmM8JpSN0wlHOBNj2FM7pTzU3TvG0liEiMsLn+zFNB8T6g/oHqUnVRVckra6RlEuRPwV8S/GCPKQPJ+51lc7lvKqOwig5zCBU90fSdYAd4PQQWgCDBnXBGrUZsWfU1OwLZ8DRIegGbciAxju7VN3S6TThdq4+ZPbJ8yHo4WgMuRG3EFL2LF/t2fIaDAX6xt9aFBsMWQpLKTSAmUih77h 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, 8 Jul 2023 10:29:42 -0700 Linus Torvalds wrote: > On Sat, 8 Jul 2023 at 04:35, Thorsten Leemhuis > wrote: > > > > The plan since early this week is to mark CONFIG_PER_VMA_LOCK as broken; > > latest patch that does this is this one afaics: > > Bah. > > Both marking it as broken and the pending fix seems excessive. > > Why isn't the trivial fix just to say "yes, fork() gets the mmap_lock > for writing for a reason, and that reason is that it acts kind of like > mprotect()". > > And then just do what those functions do. > > IOW, why isn't the fix just to do > > --- a/kernel/fork.c > +++ b/kernel/fork.c > @@ -686,6 +686,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, > for_each_vma(old_vmi, mpnt) { > struct file *file; > > + vma_start_write(mpnt); > if (mpnt->vm_flags & VM_DONTCOPY) { > vm_stat_account(mm, mpnt->vm_flags, -vma_pages(mpnt)); > continue; > > and be done with this? Yes, we could move it down a bit more, ignoring > the VM_DONTCOPY vma's, but they are so uncommon as to not matter, so > who cares? That was the v1 fix, but after some discussion (https://lkml.kernel.org/r/20230705063711.2670599-1-surenb@google.com) it was decided to take the "excessive" approach. Also, this change needs a couple more updates: https://lkml.kernel.org/r/20230707043211.3682710-1-surenb@google.com https://lkml.kernel.org/r/20230707043211.3682710-2-surenb@google.com So I'm thinking it's best to disable the feature in 6.4.x and reenable it for 6.5 once all this is sorted out.