Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp2009146rwn; Fri, 9 Sep 2022 07:20:24 -0700 (PDT) X-Google-Smtp-Source: AA6agR68P1TFF8nP9q350uarze1rYlcYzTlyiMOv0znE7w3mRps+tAADIEMiDeYBHs7OQbQBHxUJ X-Received: by 2002:a05:6a00:1410:b0:528:5a5a:d846 with SMTP id l16-20020a056a00141000b005285a5ad846mr14932165pfu.9.1662733224351; Fri, 09 Sep 2022 07:20:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662733224; cv=none; d=google.com; s=arc-20160816; b=PXPpoj1gGgNDP3lA9ai46WNRcjSG+NKqcb2fYtZlssorDXfkkrP0wRqONLM3T/XAhi JvsZbgcsYlMOFQjBGMFgPQNF+rQ/Xz/IcpWDKN5qZ8g4U1keVxReVrasLpP1w4x31gx1 YxunXO8aN8JpUxWHPGYjH1l9v5EFJx3sBCy2PzwlveLkpjN0JJ+fFAzRGYryfDDPdxoT C2QuiWllgnwvc9QCFCREojybUbbID2zAxKW66TETwUgULLBZFmhesSzhBxV9O9r/S08e XLQogr2MFlGYAh+oCsqE4MfLzI1dkG9YxWzyKkOA2myEd36zZqXeNPtLWLylwRQOxMHE y4SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=Y0mVTz1Lf0bysAreM92v0+W21ZGEaC6PTpYbiBGl9so=; b=qT5D1bswJxChUUBeKn/t1nfwbrf6KA1Qh6aoOVEEbAkSdK2v1PjpVmAXJf/fYixp/I n9fqleXHmNrNXKzHpDBeWPNlQnZFlrlNLS+lV/q35sPpyswshD+Amv+dlxZVvAvIiO1Q UeBChPzfr4lZnfzn++kTBs4wfLXXLIXe0qKmtVDfaHvjv4Pz1jHsdAWZEe4WP8kUsdpD 3fbGC57CCjodxpF9O4q9aERj0cFEUY3rSDyFtTNZfuBkreKEFlDZcAkoERJyQuxA9/4a qVCPiIO6muAZ9fUCzsjws0O+8OigwqHk+2GlAXvJ0xt/TrbvIHBX9ay3sBFrEMAR+CMx NOuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=Kto3IJwk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 12-20020aa7924c000000b0053870bd5555si644103pfp.90.2022.09.09.07.20.09; Fri, 09 Sep 2022 07:20:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=Kto3IJwk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230494AbiIINpp (ORCPT + 99 others); Fri, 9 Sep 2022 09:45:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46710 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229873AbiIINpi (ORCPT ); Fri, 9 Sep 2022 09:45:38 -0400 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E3F85DFB8 for ; Fri, 9 Sep 2022 06:45:18 -0700 (PDT) Received: from pps.filterd (m0098404.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 289DAbM3010670; Fri, 9 Sep 2022 13:43:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=Y0mVTz1Lf0bysAreM92v0+W21ZGEaC6PTpYbiBGl9so=; b=Kto3IJwkg5cHnydbnh1y6sqRW67TkTzQLFX8SrzCrpvVJWlPMUNPP6XOJHTX4yMQ04RD lqdVCN7TRvBch6Ei9V/rsOlOPKz5ZwKsS4oT/TRcCq3y2+uufO/LOxGYQLf1PBFspl3k 9F6fkjY4M9rhqW4K50cSdlVw0O6XWkeNudqu8Ssq4VV1WXriiHybbG0rOV77GV/DIsZO A20a0bpVLimU41sYFuYrSpYFRmlmo5LfmwXfbL4r7NJW9C+T1+KaL0Cw8R1vNa6DgLgV yVxwITZ2D39ibCplr/ESymHiBSS0D9uKx9G46AvZu0e5Bolx//7AlM/Ri9uS12AbzHK7 pA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3jg5w69fmq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 09 Sep 2022 13:43:36 +0000 Received: from m0098404.ppops.net (m0098404.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 289DBHN4015324; Fri, 9 Sep 2022 13:43:35 GMT Received: from ppma04fra.de.ibm.com (6a.4a.5195.ip4.static.sl-reverse.com [149.81.74.106]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3jg5w69fkp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 09 Sep 2022 13:43:35 +0000 Received: from pps.filterd (ppma04fra.de.ibm.com [127.0.0.1]) by ppma04fra.de.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 289DKUsZ027049; Fri, 9 Sep 2022 13:43:32 GMT Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by ppma04fra.de.ibm.com with ESMTP id 3jbxj8nymy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 09 Sep 2022 13:43:32 +0000 Received: from d06av24.portsmouth.uk.ibm.com (mk.ibm.com [9.149.105.60]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 289DhTEK38011256 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 9 Sep 2022 13:43:29 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A7FDE42047; Fri, 9 Sep 2022 13:43:29 +0000 (GMT) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9374A4203F; Fri, 9 Sep 2022 13:43:28 +0000 (GMT) Received: from [9.145.83.17] (unknown [9.145.83.17]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP; Fri, 9 Sep 2022 13:43:28 +0000 (GMT) Message-ID: <83a36761-2045-3f46-3088-a751c5263b81@linux.ibm.com> Date: Fri, 9 Sep 2022 15:43:28 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 Subject: Re: [RFC PATCH RESEND 15/28] mm/mmap: mark adjacent VMAs as locked if they can grow into unmapped area Content-Language: fr To: Suren Baghdasaryan , akpm@linux-foundation.org Cc: michel@lespinasse.org, jglisse@google.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mgorman@suse.de, dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, peterz@infradead.org, laurent.dufour@fr.ibm.com, paulmck@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, rientjes@google.com, axelrasmussen@google.com, joelaf@google.com, minchan@google.com, kernel-team@android.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-kernel@vger.kernel.org References: <20220901173516.702122-1-surenb@google.com> <20220901173516.702122-16-surenb@google.com> From: Laurent Dufour In-Reply-To: <20220901173516.702122-16-surenb@google.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: vsmxLApnSa4kFm4DsE4c9nzLp7_dueVe X-Proofpoint-ORIG-GUID: _47dY4KcG9Nanbo62JUX-I9vUetE4UJD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-09_08,2022-09-09_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 mlxscore=0 bulkscore=0 adultscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 malwarescore=0 mlxlogscore=894 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000 definitions=main-2209090047 X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 01/09/2022 à 19:35, Suren Baghdasaryan a écrit : > While unmapping VMAs, adjacent VMAs might be able to grow into the area > being unmapped. In such cases mark adjacent VMAs as locked to prevent > this growth. > > Signed-off-by: Suren Baghdasaryan > --- > mm/mmap.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/mm/mmap.c b/mm/mmap.c > index b0d78bdc0de0..b31cc97c2803 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -2680,10 +2680,14 @@ detach_vmas_to_be_unmapped(struct mm_struct *mm, struct vm_area_struct *vma, > * VM_GROWSUP VMA. Such VMAs can change their size under > * down_read(mmap_lock) and collide with the VMA we are about to unmap. > */ > - if (vma && (vma->vm_flags & VM_GROWSDOWN)) > + if (vma && (vma->vm_flags & VM_GROWSDOWN)) { > + vma_mark_locked(vma); > return false; > - if (prev && (prev->vm_flags & VM_GROWSUP)) > + } > + if (prev && (prev->vm_flags & VM_GROWSUP)) { > + vma_mark_locked(prev); > return false; > + } > return true; > } > That looks right to be. But, in addition to that, like the previous patch, all the VMAs to be detached from the tree in the loop above, should be marked locked just before calling vm_rb_erase().