Received: by 2002:a05:6602:2086:0:0:0:0 with SMTP id a6csp4412319ioa; Wed, 27 Apr 2022 03:21:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw+faxjED8ZiaVyum+JcTK7+hJi7YcyH3CxgrBNl/oMSKW22lMaEMF9C4brdMDMEycPR2LQ X-Received: by 2002:a05:6a00:1a49:b0:505:7ab3:e5c7 with SMTP id h9-20020a056a001a4900b005057ab3e5c7mr29261244pfv.62.1651054869990; Wed, 27 Apr 2022 03:21:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1651054869; cv=pass; d=google.com; s=arc-20160816; b=bNIunPzkj48sn2fz3NZ3IKVdvQO3Pe4ax+PIHV/O65y7BdwPGJ96Vilh4rd7coFK5J 8d6CgbAkcXLRChuIfY6IJeZhHvmEm7/fC1s6pKu+BWKWex3DJIZVdEpCad0jL9wF7C8P aIQ3UuOSuK7fwYd/KZt2YjmM6L34MJkz5r6/6d7ukZLkpXsY0STGG8gOz3NtUIH8AmGc vvQdSd1I5DRIIlMIUsiwwRiMm939EePZxEYacXK9oqxhza/sL0pTSa3kpeIh7fhI/GG2 xLoTi/Y+EwqhCFQ/q0mwU6kBVy5+sLGp8Cr0s0mgaiMbYGiSMlWYl2nodTqkaMx/+Imc pIaw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:to:from:dkim-signature :dkim-signature; bh=8lnd4X2uYzIMBZwXBbmt9o4VesBrgsUVUuDwjTiDneA=; b=dWbB950m4Vn9Wp2nDkYif4316H2s8Z/BvV8RHzBxvURT3kcgjvLUTqttm2sHCv3wkd +1shAOyZP6T6s0x2jpWw2p33az4C7o47SkdcMyPTuENBxQY5fU9JQdg3T5HnDS4ttFvg B9RGbBFaPzk/0obwacCc015D1ixiQ0nGK/ZBUnJt3p3aW66vp7uLrfIil2qTQmJL8/ot lfl/wrjFadzYY6uDMsNc7uBIyWCQN5cU7qFPMoBLDHarzGUyf1ZF0W7n+craj8CyJHXJ Hbr+mJWlyWB1oq1xHhfseSZPZ+cNrqgyFdzlEPPzU6hWPkfsz37CVS/9LEZ2DhlTs3k3 RCBg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2021-07-09 header.b=Oc5rO3p3; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=g+gZgOkb; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id v10-20020a17090a634a00b001d29340d056si1251036pjs.44.2022.04.27.03.21.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Apr 2022 03:21:09 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2021-07-09 header.b=Oc5rO3p3; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=g+gZgOkb; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4C42B36C914; Wed, 27 Apr 2022 02:40:30 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352054AbiDZPPG (ORCPT + 99 others); Tue, 26 Apr 2022 11:15:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352002AbiDZPKB (ORCPT ); Tue, 26 Apr 2022 11:10:01 -0400 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A1B541524AA for ; Tue, 26 Apr 2022 08:06:50 -0700 (PDT) Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 23QDT2al015530; Tue, 26 Apr 2022 15:06:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=8lnd4X2uYzIMBZwXBbmt9o4VesBrgsUVUuDwjTiDneA=; b=Oc5rO3p3926nJAA2cNsskNc6QmiEb2KJAQRWYL3aXYKXVAf5JakHoqS4j8HhBXpIJSrO TlYRNNsFbRm1PvLUcCvf3+PoFicwpmgfLyS1XLQMv8OJ52TiPr8KR8S5nGI2pECtjLfo gQSAyXP5wWrfCIxPmzjTqjpuEUROpUwJH5+ZNVE6w1c4i8zOarJr4Sp4xxU0fqb9q6bO uuWzB+8tYS6ujeh6kGHvuXIIWXYrwpmCe1gcqIOWaEGrPlSEUve8laHi0VzQ5e3zna8W h2hg0BefmrbhgBF6jvBVO4/S+YC8czESzcEg5n+uo4cjcNGaDG395lapZxX3r+nSqMzn Vg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3fmb9apbj1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Apr 2022 15:06:40 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 23QF6Urx037859; Tue, 26 Apr 2022 15:06:37 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3fp5yjktje-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 26 Apr 2022 15:06:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DWYlJijdgy6WAKtyrdaKFUvJ0VbFNpQdrlAuFNCrqyfQ4B1WNqYVBazTdnG4eFxMLy/i1dYErlrJq2dqh4KKgQcNyvLujLolASHhYtViyK0VPuBVuOQUX/SdR5hjSRr+cAefm2hDJrFyS4hSmAWz0w5ypXudCNP/sPOYnMzIC5zH4Z2vF3jSkh6aj2iiGTX/iYGM6KTcsw81vzFiUJ5EcHQIY2vbJJjbgWFEgFXaHffXYerJA5FT9+V3DM0dB1hvswX5f4CAkLrVaeolsv6nIi5B3tB+BrcE4PyfGYp80872CGDS+laj6t6kJXBnEAtcArc0A+7nXB2jhX1hV0xjHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8lnd4X2uYzIMBZwXBbmt9o4VesBrgsUVUuDwjTiDneA=; b=RwTSZJZTV27i16cqIvwM1NzRuWsE4Gb59tocLPBObvJp5ggMTSbOv6GJ5Zjrtd5CeBdrHoRcBzk69Ia52T4PeVZ51QsnanJz7qJWjQF4ROjd+fLEbkHjXikP9dkfOq3sBKaqps+ADwLZk3bA22meQHwW0eyuuX0ASq1dnhKovcTL++0JSCSZzX2ZOeRK1lR+Kb22dJiJ75HVYiuoX9NP2pA/SaOHkU7ujchP7Mb8Jw+y9RoR8ASS3bA4PyGwNNyobDxXJRtnstZirZuh/R531Rh5UeB+0vJTbTH9Fful2z9u0RW2cw1L1ii8ei8x6NCgszyqMjGmuqEvuVj7qWLFDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8lnd4X2uYzIMBZwXBbmt9o4VesBrgsUVUuDwjTiDneA=; b=g+gZgOkbaEYArc45d4t+Yk63tE72K5kYXdDVO3c4Z5RA6jRYnA1cjQ4GRugeNjQDdghoCY+O+BYk3jzxZfr6OOuylzjVQWgci+y8QyIaaos5OkMvcBJWwSGL3wHMYooncdCXdyDMWewUc+gNJx2lZQAUIz6DjLpOX+PKrkS2LgM= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by PH0PR10MB4679.namprd10.prod.outlook.com (2603:10b6:510:3c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Tue, 26 Apr 2022 15:06:34 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::318c:d02:2280:c2c%7]) with mapi id 15.20.5186.021; Tue, 26 Apr 2022 15:06:34 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton , Yu Zhao Subject: [PATCH v8 19/70] mmap: change zeroing of maple tree in __vma_adjust() Thread-Topic: [PATCH v8 19/70] mmap: change zeroing of maple tree in __vma_adjust() Thread-Index: AQHYWX83szDzne84Qk+cPdWAgg5nZA== Date: Tue, 26 Apr 2022 15:06:34 +0000 Message-ID: <20220426150616.3937571-20-Liam.Howlett@oracle.com> References: <20220426150616.3937571-1-Liam.Howlett@oracle.com> In-Reply-To: <20220426150616.3937571-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 73703bec-a40a-4d7f-ef88-08da27965ac3 x-ms-traffictypediagnostic: PH0PR10MB4679:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YnzYywPDmIaclurSqPjKckHB+EAsxGNJtuBqeJ0q0z3pjE51RLrcDe8hdXzob+hKMOz3cXctv58aMB+X15pW+yWLi4O3VGVJiTr+QVvry32yuiYxsa2gQR+T2gZpkvt62NWs/0Id58AGd03/zxLyLxaPu13ONEcYGnanpam/ekJoQH7z/wB8l/ZhdDRsmvfdDdRgGBPS4I39Gb4k2sykpb9qh7XjYoaH6aLIB8rTw2bsgJsGIw1CUOAQmyYh0cWdq8PEIivfxlJsG4MogkrOyb/GfCxvHL2uqIC1uvGWEJlhW+vB8nDgKa3GyZxdd+MUJ3YAisFe2hoeO5abvSqRgUz/tjHErMdQUhIO3UQGgnmIgKSd02Lb42t6DfMJmKE44AAaBUZAerD/60ZfNo/gxRSytXsladDpz2jgyxekitkWNPnaMb7YsZHYItCWUzuRY+gQyLymsZDBFdwTsc6eEI8RGm8i94qQA89uPTDbkbwDUMblRN9SQFcWTRMhHNSIqXZTEbhp5sHx9JavILg1+uR8s8TGsm58QjZafWDuLzGvHrP/UiSSauhNN/CwVpGbQ9gckl9wHC4KO+dAGsul4xzhZ9lzJAivvZwOC6/hDJyGal1Cd5zEgF1XyuyCchff+zxHhTcJQggWKd3TF9cdW/dmaFYgdia3T3xHk4airquIdDuDS1jSzv5FkDyeTLt90fUjhZ2WXPSxDThMWlx1Tw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(86362001)(5660300002)(66476007)(38070700005)(316002)(2616005)(122000001)(38100700002)(83380400001)(2906002)(66556008)(76116006)(66946007)(66446008)(64756008)(91956017)(8936002)(44832011)(6512007)(186003)(26005)(1076003)(71200400001)(110136005)(6506007)(6486002)(508600001)(36756003)(8676002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?i7rACvuPweWQaX4/sQqhWfdlvu5Euee3n7OhjAQtUBcY74gok7bPfneyVC?= =?iso-8859-1?Q?BqiFJyR4BUBqOVrfO9535OFhbYwMN7lOhxGFkTOWfbYbHl0B0cXIZa94YA?= =?iso-8859-1?Q?Y4c8m3sjFIRY2zb+m5xtR3vcfLPvN/3EnDXfdjmeMQtjR4Llm9w+mnj3Xb?= =?iso-8859-1?Q?UFnKPctSiBaGmBRIwzBLEZQ31uF1extASou5b+lmqdBSgDqUDnL/4f5fOA?= =?iso-8859-1?Q?2/1Rak0lF9pqX5I0/n7oFU7XBhY7/6guUIJhzvbSUVLOGNBnx24cQcjNXJ?= =?iso-8859-1?Q?zS16FM3nDki4vC53c0kGyIjwsYYDWmAeyj0C6cqeGRbZtozkt1ej9mU5TL?= =?iso-8859-1?Q?ZAibyGi13ZYz99uCxJ4i5vF36ohwkdnm9Xm9efF08vnSTzyhIKHKQzuSr3?= =?iso-8859-1?Q?KDQ+05gTnJfF1jqK1FNDhdb7t1ihZxYB/a71XCt2uy7oKA8eA/X5Wb/R0r?= =?iso-8859-1?Q?G5nubEqVboLZHVsrcu2PcRrf9mw1jq4ESh7N8Zp3BO7rx6NbgsdVpTlkFj?= =?iso-8859-1?Q?NxuIlASsyQjdeBzcm6R2J/GBs1N0MzZJnm313t6laadbzf6fsEpTcb57S8?= =?iso-8859-1?Q?+J6GWpicERIIwg2z7GA3e2mI8w487/oQdDBl9RdSlHw6xVya/Mbz3Zpun/?= =?iso-8859-1?Q?cNJFF6t0/jy/GG1bR7iuT8AexFBjdbje80J/2mUASafKPiC3SaMw18zv/a?= =?iso-8859-1?Q?eqe4R3eVrDSganWsjBLwIFixHPKVMxODuhnsVgz9UF3FyWwIeO4jb4k82v?= =?iso-8859-1?Q?HbdLFZmrrMkTVP+rMRAk8gAHz0mobdDt6w49OCpSOGE1AL0oBv/+DUSLtU?= =?iso-8859-1?Q?Q4Y8FNdoor6sSqsqYPfG3hpcoVR3xzCcAus7jNdSnRL7A51gIgwnVlE9y2?= =?iso-8859-1?Q?IiNvebwUEqTzpD5UQSJGRD0Gl0bNN5rspb0QPtZ6yFsaPDMJq/k3pCNql7?= =?iso-8859-1?Q?vrD2HBBwqn9ZWXGtz9BbNklzpRFHnPxZoCk5yr1Gt3FeDHReHJBQtoQfml?= =?iso-8859-1?Q?QYljH3gsEi9rvpfo0K69ASKuuJZbMieM3SqCMaszLgSyflPPjnuSzp+eK8?= =?iso-8859-1?Q?YtDfK+BsiiNT8UU3wJ/TOlQKTV5Lkk3VcokElTPqcxT7gMorQqQTV3Yhqf?= =?iso-8859-1?Q?YQagBoAAWUBGhf8yWw9DVvn3CZRpoKwL1HIztoAbD8GgbU6IfseWJC3WvG?= =?iso-8859-1?Q?QZ7OFA0Z2Q01RdEpSc7Q/LwHz1BOnsMMSv34w75MyDblTcB0+IMvOLQ4aD?= =?iso-8859-1?Q?D1K6ORe0BmYZjlH8RTN2TZla0AKX+yaoLoqD4uNElKYNwKV2SFfjrKQ4nZ?= =?iso-8859-1?Q?1NhVqN0jHWvkbvOSbzMOP1DUJhfNC6FDei04ZAz9Mq+jbFMORTUCsMhfef?= =?iso-8859-1?Q?R5NIVMSAEcl5qwxSQ8GdtB2VEHzk4m9c8yQPxyP4ivXeXg+IdNZC5jd5a5?= =?iso-8859-1?Q?QCIvkS04iIrtVRmfmvnssuL4IvO0Reu6X3PQ+87uCHw2O8ay8Sl71Oo2de?= =?iso-8859-1?Q?qOh89bsNGwybDYFOlAXC6gMKmJxCugXjmEOO2Y8Xts7dIyvOeC1i9NyJ77?= =?iso-8859-1?Q?3SfPjIj6AZXpafz0HXWq3GLuFlS6c99I0YE/B5ZkaP5rdhm5i6mwTGbun4?= =?iso-8859-1?Q?XR59Lc8zg4uv/BdA0e+USRT6UWz2zPxgMk5LPguDVoIDGJdz66BhqoekeY?= =?iso-8859-1?Q?BNugpVECjdkWdXmGtiLmraOQP+QDWWs6ZLQ+xSCOqYbU2jDi/FKtw54T1f?= =?iso-8859-1?Q?Xz8JmjwF2sNXU4C1Zc7vj74nKxwMUNFsvhRwJDMkOhd5ftUfYQ6dMLgOqL?= =?iso-8859-1?Q?0hJmIZPvv8D6AME7Yze224GYQ4myCTo=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 73703bec-a40a-4d7f-ef88-08da27965ac3 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2022 15:06:34.0683 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8qKh+VpcrTVtXMGQO3dOcHeF3kB2R3uh55gSWXgCw7RMqAQPCNndtX6Fj+waeEA/xmWM+QHIz5x6556UjKAhPQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4679 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.486,18.0.858 definitions=2022-04-26_04:2022-04-26,2022-04-26 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 mlxscore=0 suspectscore=0 malwarescore=0 spamscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204260096 X-Proofpoint-ORIG-GUID: 8leioc7f3wbSr8g65-SBBHeSK6arthOJ X-Proofpoint-GUID: 8leioc7f3wbSr8g65-SBBHeSK6arthOJ X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE autolearn=no 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 From: "Liam R. Howlett" Only write to the maple tree if we are not inserting or the insert isn't going to overwrite the area to clear. This avoids spanning writes and node coealescing when unnecessary. The change requires a custom search for the linked list addition to find the correct VMA for the prev link. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 622ccc28940f..ec09b68a3e0a 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -597,11 +597,11 @@ static int vma_link(struct mm_struct *mm, struct vm_a= rea_struct *vma, * mm's list and the mm tree. It has already been inserted into the inter= val tree. */ static void __insert_vm_struct(struct mm_struct *mm, struct ma_state *mas, - struct vm_area_struct *vma) + struct vm_area_struct *vma, unsigned long location) { struct vm_area_struct *prev; =20 - mas_set(mas, vma->vm_start); + mas_set(mas, location); prev =3D mas_prev(mas, 0); mas_reset(mas); vma_mas_store(vma, mas); @@ -632,6 +632,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned l= ong start, int remove_next =3D 0; MA_STATE(mas, &mm->mm_mt, 0, 0); struct vm_area_struct *exporter =3D NULL, *importer =3D NULL; + unsigned long ll_prev =3D vma->vm_start; /* linked list prev. */ =20 if (next && !insert) { if (end >=3D next->vm_end) { @@ -763,17 +764,27 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned= long start, } =20 if (start !=3D vma->vm_start) { - if (vma->vm_start < start) + if ((vma->vm_start < start) && + (!insert || (insert->vm_end !=3D start))) { vma_mt_szero(mm, vma->vm_start, start); - else + VM_WARN_ON(insert && insert->vm_start > vma->vm_start); + } else { vma_changed =3D true; + } vma->vm_start =3D start; } if (end !=3D vma->vm_end) { - if (vma->vm_end > end) - vma_mt_szero(mm, end, vma->vm_end); - else + if (vma->vm_end > end) { + if (!insert || (insert->vm_start !=3D end)) { + vma_mt_szero(mm, end, vma->vm_end); + VM_WARN_ON(insert && + insert->vm_end < vma->vm_end); + } else if (insert->vm_start =3D=3D end) { + ll_prev =3D vma->vm_end; + } + } else { vma_changed =3D true; + } vma->vm_end =3D end; if (!next) mm->highest_vm_end =3D vm_end_gap(vma); @@ -808,7 +819,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned l= ong start, * us to insert it before dropping the locks * (it may either follow vma or precede it). */ - __insert_vm_struct(mm, &mas, insert); + __insert_vm_struct(mm, &mas, insert, ll_prev); } =20 if (anon_vma) { --=20 2.35.1