From patchwork Tue Jul 12 14:51:08 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Liam R. Howlett" X-Patchwork-Id: 12915083 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 0A04AC433EF for ; Tue, 12 Jul 2022 14:51:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 914586B0127; Tue, 12 Jul 2022 10:51:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8C49F6B0128; Tue, 12 Jul 2022 10:51:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 73F166B0129; Tue, 12 Jul 2022 10:51:28 -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 652AD6B0127 for ; Tue, 12 Jul 2022 10:51:28 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay12.hostedemail.com (Postfix) with ESMTP id 34695120718 for ; Tue, 12 Jul 2022 14:51:28 +0000 (UTC) X-FDA: 79678736256.23.57349A5 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf10.hostedemail.com (Postfix) with ESMTP id 78ACCC0099 for ; Tue, 12 Jul 2022 14:51:27 +0000 (UTC) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26CCtapB016690; Tue, 12 Jul 2022 14:51:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=r9S8+om4rgu1ImPqq/cLgcJk0xKjmIBH5+22Gi4HIYo=; b=aZ4FhHoBglK7oxBMmEXGMQ1JTw5efhHnBuARf07jXe5hA1JUx1Hz2aNlJ4b+FVFAEMNw X958bw+nkCU1gbmWfmP9bjbqnclYPueLycdirMHBOzD5QQzg/uMEuZZMR7qZsBz/mN49 213dXwq3A001suaIfBSWM9JZFWKEIIpRDFr2L4zIuRK7VnwF/Sc9AD3dbEPZpWhteNHH gqOb0XU0XWEJrXZyu3PS4kKpQx9OtvF/Tl5zFD9Z4X4xkK8TZ9PJ+9F+VGk01sSeBGCn 9ozl2h9h7336lBgxxCKgaEpWE5ataVsfFcplHfeqIqZbGvIQgOn9HDXxeMvb1uaZUzGu SQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3h71sgpsdx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 12 Jul 2022 14:51:23 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 26CEoCgl029043; Tue, 12 Jul 2022 14:51:10 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2173.outbound.protection.outlook.com [104.47.59.173]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com with ESMTP id 3h7043svww-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 12 Jul 2022 14:51:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ito9ppeSj/RDjlwfueOfSXJOc6MUJcBMQqhMgQLk3XXAh/cJMIUyu1vh0H4YhuwvoUGNrBiMieuj9D+z34SL34QPk24WEYcD5HCUGF1ITaX3c+PLzt4NY8E7Oqt+FdY7EPBUCkxUCHS/FUNEKNWIqbP/iVS0GhrEnPSrlQK/rNfn+HXfPVlNxnz15iB2T7QGoo9+zf46Php3Tf87qZSmm3+g7iwmts9Bivvq/zIUKXfdQ+5kzm17BcyD+FDipIk0u6kcHNRmZiUWDZoDJDhws53QPevps6tCvGoIMALME4SVlO3Rg6jLqdEfunFInPUAaALoecasn0bJokOXvyQShA== 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=r9S8+om4rgu1ImPqq/cLgcJk0xKjmIBH5+22Gi4HIYo=; b=WLEYvCsEdjJ80DV8veO72Eiq3NWCXc2ESztRmjdtSGKaBQGj6PO6075NGIUOMTsXqkGp/KdSbYHSSvFnKzUvXx79PMpOlXsX6ge45EoG9uh8EgRw5XXUn3DufrUgdLMZ/nYuYvbF0fgpkAsw/n/C4leGxEij1VVf1nG6TVQg5nvURfUief7duUmqvZsWaUfXWgPNTSBKil6Hd2iBzMGhjQj+b97HFq2yDBFUZy82aeysqO1Gx4lnd+H8WAxA/q2HvN1cZxOrKLJ7N6i5e9rsc9voyPUomcKjExOJtEnJ4p2ZOW2O4jIrkhrYbEWvzoaLubuS5fwzzhMf4uySH2fyeg== 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=r9S8+om4rgu1ImPqq/cLgcJk0xKjmIBH5+22Gi4HIYo=; b=LaKJ3Bjt3elNobbzPD4itLSaAGvZJ/j4n9f+YtaDOs9NCAKHOu6jfZlcH8pG+u8zX02JydcH6L/vONdbqgOKu627Ni0dwHf+F3X4y274KP2UkbviEEcYAqF0CdckyT69905V/wFBqe3Pz6XJ3wBbTMpNqxXS3mFN3BNctN0jbns= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by BN6PR10MB1585.namprd10.prod.outlook.com (2603:10b6:404:49::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16; Tue, 12 Jul 2022 14:51:08 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d1:edc3:7d21:7c68]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::c4d1:edc3:7d21:7c68%6]) with mapi id 15.20.5417.026; Tue, 12 Jul 2022 14:51:08 +0000 From: Liam Howlett To: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton , Hugh Dickins Subject: [PATCH] mm/mmap: Fix return on maple tree expand fail in brk() Thread-Topic: [PATCH] mm/mmap: Fix return on maple tree expand fail in brk() Thread-Index: AQHYlf7QXCY2NBcbHEu4IJRPLMcvRA== Date: Tue, 12 Jul 2022 14:51:08 +0000 Message-ID: <20220712145059.4191132-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: 951f74e8-b496-4440-a184-08da6415f486 x-ms-traffictypediagnostic: BN6PR10MB1585:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0IBrW9sIue2D3dJ+AlKmE0Z8gt3Oi945f4TVDau1bjbe24vCmolHAItrJKv3YYcBhbpS6jHM7NV7IFb9h+nzvna4IQ7WLt21nDc2YKFNK5hnSVF9Y8Ef5JmDBKeBej66R+8EiFphB1LsbliNbq0c8yTCFx190MuD2lqdS6YD0WihzUoUm8uLFIHTiuVTvTsgdLz1T16+zy3Ahhp0qh4ZJed+m3kFJQ//gfI01Hqv22hdiivoXqwGPUoBMlYBgFfW+8RLnZnJHFBJ3j0iueOO/or50tNuBZ8mcA3o468LvgCiGCo86Fs+gbKllmi/cKzR/jawBM4Dt+BoY7K3fofks53rcXaSxU8rbGbvPzpj+wR+PPBonfE+raOrp0HM/85HGgjxIMEEGE25DgGJ2nR4G8yeS3rs55NXmXyisPN/QQKo3TFIAXLbNRUNb9QzdNFrgwW7aTC5GkGuZamtAzkn56BSxnMeotOvXIKRjGJYQnVN2lkKiLbhgnUZpLn+s3/L+GUjvwp2P2XJk7QgoCmqIIfg6Z/C6zh5RlpE/bz7TPSv7JCoV3V8FpV3HQYhO0q/Kwha3On3cz5I0aGfNNmA6JgxpqZpodRmdc6LgbGEu6waXq/cJwTgC/8rDH0X+8ZpxkIJa3OeDMzm/xuLj7dGC1PGz+iCfdNSNLde/6G5cJEaUVmr49gRZ8R6xEQkJVqqr85NDewJjU+u0tZ8dHoqglQ0LUayhNfZWGS9x7vpztdua7T4GzWjEI8nXIahYrUY9wguQQQ8lJ4iIOKl7b4bryO/BECvoicmI2JjPXJ4RVDlyGCR6/qL8CgMt8MQ7VXP 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:(13230016)(396003)(136003)(366004)(376002)(39860400002)(346002)(26005)(6512007)(186003)(2616005)(66476007)(1076003)(38100700002)(38070700005)(66946007)(2906002)(6506007)(122000001)(86362001)(36756003)(64756008)(83380400001)(8936002)(6486002)(478600001)(44832011)(316002)(71200400001)(110136005)(5660300002)(41300700001)(66446008)(91956017)(8676002)(76116006)(66556008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?6b18wKtoybFLB3WomByuGar?= =?iso-8859-1?q?OUbTHQjuuC4cGEUBeCB84gVcCY5seS8bxr6O0O3GOf0BSUg8MlnF1Gf+kdN4?= =?iso-8859-1?q?5ZiIgDnuykx2dyr/oZoRjL8xYC/zQp3f+PKmUc17RA6hFkJm0bO0i5UMaWGK?= =?iso-8859-1?q?MuXs31ru9VVaGa7XIKXGenWj7VfLUNdNAgVR9V/yWAH6+UZDwxX7/b7dpGPd?= =?iso-8859-1?q?W4pbSpS2zGLPKG00fk2IDrwNyyEo+czM7N4UItLWWPxRPeTz36iHAQe9NcoH?= =?iso-8859-1?q?yuLHGuGACF/rQLjlP5BYCDU+kW5gqg1klge8s09RbB65oK4hJx5UvpXotIYx?= =?iso-8859-1?q?VPf5Wv8OkZC8whyh6LfW6iMF7GEgpq2OUlT85AXbhyBJkGXdr7Ogz09RRjGA?= =?iso-8859-1?q?KsCda+FXy3sfPJosxzO8Ktr3ZDjEFHJvrYQdEJTdukz5tXtM6NCyukwBtOBH?= =?iso-8859-1?q?fNDJKXb+9zqbYP+0HFtqOUM2N8YO/+kWHXSDvElchflR5b1wXq6YPXSS05dT?= =?iso-8859-1?q?KFPCdk16MKx93j1T1GuPJDY33wVqdFKfbuDrUpeD0sZqeWgwiWFOKYfHXYZ9?= =?iso-8859-1?q?i/9iyzqd0Fl3g7cbmsYyY9ifp8oQDtmqk1v/OsIk4jWWK36edPEI5+LvlKVr?= =?iso-8859-1?q?qSf1pJq/DIT2cPLg4WjVAv3pwqOxjCVWwxHY/HHtn2c69f8zULpZ/zIFtFc6?= =?iso-8859-1?q?JPiByFfeVgBcl6QhlmUJPu4gHny8GOQMrRV7S3UWldNRrN68YeyP205g3rCa?= =?iso-8859-1?q?12DjBbFNkGx8ra6Smr3uWNdu47a8KM/o8HXujZdDRznupzq9N1V9JOGStJmh?= =?iso-8859-1?q?rtAE6Cyek6DFpmTWEbv/gjfQLCwaeIO7jRKLuulGxEmq7eWnGsS+QlOUPt7o?= =?iso-8859-1?q?CqQCgUQDlYhC496Sq8uJB3wCShoUpKYOWp+f78GodhrMjq8qPv5O2DhYp7sb?= =?iso-8859-1?q?ZlSd87SKWUHYyO0ZJ4l3xScoxWsmOKhA0OZoZVZvNrQHA4TqHNnXMCBatHU3?= =?iso-8859-1?q?9cQGRifJMLUuSr4c9QWdwHlEZg6xHxiwJEwGUVRajxkU4QEZnc3yHkyv97Oe?= =?iso-8859-1?q?OE+LDCDwVHqqb4beSWnkNBpehOv4d3MWEt4Ev40TOnvypL4/H0zh2tTkCXJk?= =?iso-8859-1?q?Z3rdgkcd9syq+b32CLysO2x5ad1AXwO29pEKwQ0h2Pe9NbsSD1xmQZhz4elH?= =?iso-8859-1?q?h7BDk7Rd0FceCp4S0R4jbT6hcywhGD+N38wDydeHKmqlFM51Pi4YcQL8chXQ?= =?iso-8859-1?q?x5tJapa52HPSF3mbGmE7STAnBJjbzdrHl2vUkF0njth5zzCmmG2MrDXsIXKE?= =?iso-8859-1?q?STkv2GSAAA3JRBo2FN8W7cNoZr4Okh0tBMV3mAOGoQI78Wc40Gsj6+1an2MM?= =?iso-8859-1?q?GCwwXUcYC0j3b7vT3IET96cab7kKjXCI7lmHe/WRtorGjCAq70Cozubny3JH?= =?iso-8859-1?q?Wdwwcq/uNwvDxkGZVDeBmGFjwqLh94Kwum/ISUnTEYLxs5IoOzRThtkeeET4?= =?iso-8859-1?q?4logNyoHCGAb6FS9poT+qtx/1yFBp3Bf+LkZCOdoAyaU1YO5QE01bvphEP7I?= =?iso-8859-1?q?XddcP70fC7YqnejjPAf+IwlDbk0DLrx9Zi9D8U8Bq7ktnbPhp2NZjSf2YN+4?= =?iso-8859-1?q?FCdAn0JKGcO0fwNdjT/sC/XWkbLTRzI7U+OTHNg=3D=3D?= 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: 951f74e8-b496-4440-a184-08da6415f486 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jul 2022 14:51:08.5276 (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: SBcm7Tk+Rvd+4vV4W5zckMovpLZMNLVaPfLmKW71z6CmAGIVgBWgFLeCR2ET3G0hqzHuDxLTGowdME8+T1GEGw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR10MB1585 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517,18.0.883 definitions=2022-07-12_08:2022-07-12,2022-07-12 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 malwarescore=0 suspectscore=0 mlxscore=0 spamscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207120058 X-Proofpoint-GUID: 1KOdPIUTWgK6CLQQFSqdJ2xL-NaDOcVw X-Proofpoint-ORIG-GUID: 1KOdPIUTWgK6CLQQFSqdJ2xL-NaDOcVw ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=aZ4FhHoB; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LaKJ3Bjt; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf10.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1657637487; a=rsa-sha256; cv=pass; b=Vs1R6akWy9gxI+qF7Xon3S58TKGXR0+Gd1Z3VvuMBqpPiegzh7gaQY16QcDKOfMMj5uvL5 XBOfgWcig7srW+u4TnCoeauk7oTSRhMCtVTQURoWBGyZOYpvcm6vx3byUF9n4GKshzuihd 4InXNwS9gCAegQj514jksOjgRqZ21YY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657637487; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=r9S8+om4rgu1ImPqq/cLgcJk0xKjmIBH5+22Gi4HIYo=; b=Xb6FgP80O643WbvmuSihLKRk52bS5A7cS99QsYKZ84zfmNHP9dcgOa2NqsHbpddN2/gtlJ ZBq0nysBtGdeABz291RZBHmqK1bvL/2j5j7yg9poqCBqYT1Ho/YKB5Wh+40Dt1ErqAycvR FBQCPc90RSa4mcpNg/Qb3dPd/crcRN8= X-Rspamd-Queue-Id: 78ACCC0099 Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=aZ4FhHoB; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=LaKJ3Bjt; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf10.hostedemail.com: domain of liam.howlett@oracle.com has no SPF policy when checking 205.220.165.32) smtp.mailfrom=liam.howlett@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 7ot49boknenrxpjkrjddsu9zkqmta34u X-HE-Tag: 1657637487-335785 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: When do_brk_flags() fails, ensure the necessary locking is undone. Fixes: e9bad648fe05 (mm/mmap: change do_brk_flags() to expand existing VMA and add do_brk_munmap()) Suggested-by: Hugh Dickins Signed-off-by: Liam R. Howlett --- mm/mmap.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index 9a07bc18e6aa..f25f53d7600d 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -3071,7 +3071,7 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma, vma->vm_end = addr + len; vma->vm_flags |= VM_SOFTDIRTY; if (mas_store_gfp(mas, vma, GFP_KERNEL)) - return -ENOMEM; + goto mas_expand_failed; if (vma->anon_vma) { anon_vma_interval_tree_post_update_vma(vma); @@ -3113,6 +3113,13 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma, vma_alloc_fail: vm_unacct_memory(len >> PAGE_SHIFT); return -ENOMEM; + +mas_expand_failed: + if (vma->anon_vma) { + anon_vma_interval_tree_post_update_vma(vma); + anon_vma_unlock_write(vma->anon_vma); + } + return -ENOMEM; } int vm_brk_flags(unsigned long addr, unsigned long request, unsigned long flags)