From patchwork Tue Oct 18 02:49:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Kravetz X-Patchwork-Id: 13009820 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 09265C4332F for ; Tue, 18 Oct 2022 02:50:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E25A6B0072; Mon, 17 Oct 2022 22:50:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 391646B0075; Mon, 17 Oct 2022 22:50:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1BCAF6B0078; Mon, 17 Oct 2022 22:50:06 -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 09FBB6B0072 for ; Mon, 17 Oct 2022 22:50:06 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D23F340513 for ; Tue, 18 Oct 2022 02:50:05 +0000 (UTC) X-FDA: 80032540770.15.FA48675 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf17.hostedemail.com (Postfix) with ESMTP id 6A0CD40030 for ; Tue, 18 Oct 2022 02:50:05 +0000 (UTC) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29HNYIOZ029589; Tue, 18 Oct 2022 02:49:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=hRR+n3Xxk3o0TGS8WrhQWj7qXSfSxNi2jZA2579B/Qs=; b=pcaGjr+zKSGpumGwHYNlIR6pm556ibrZ13iY1Qd7ReHPbDnnns604Ygf/QTn6KjxAyEC jktT/UMoj6e54vWm2mNKTkdUnimTDv+pSt/iNVnqoSr53vfTJ3lVT/8xp3tmhG181lRl LG4ZExYU8oTLUYVftquZiO41RI7P9sVc7GHIFQm8hf89sW2t/xoNxK47UuuJeTfU3zJt FbMMINInJgl/OfxvLyKDzUxAjCLjhKTDxSpMw3rexjjbJ6sGrHLlDaIPzwmgXvSNO9aJ TV1BJpyevIcpXkmY5O7CNtJCpDOMGmx7QVwAxvDdSSsPAPQJYEPvWcXbThv7Vd/eQ3i2 EA== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3k7mtyweyr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 18 Oct 2022 02:49:56 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 29HMSvbV019165; Tue, 18 Oct 2022 02:49:55 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2107.outbound.protection.outlook.com [104.47.58.107]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3k8j0pvqbg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 18 Oct 2022 02:49:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hYZPiEfRMnbUS1GWggaHDXXYV28MD61/VrhatYKF7rd96jEbFyUi3RVOBudj89ds97LhW2ai2z+X3Qn0THh1nkWV2GAByVsja+x7VaCEa2Md0QHHZYMUVcJ98Mttx/a5vMxrYn7UvqRSO96IkhpZ1IbHZTRJ2RU96rgjGpKkCcI3tboXsI8XgOQ0c9T9P1T6oPGnnKnFrXu73+Pu6+uucz6jUE6gJXxOMCLUIKWjqP50OjvpyQGvzqOhP0TrXUumrMd2zxktyupe8Obec+jhU3Gfq4j1FNeH496THNxmKjJPQxiLF6YNIUM10D03ibMKW7Xar8YSLnYQXsN7mvNnCg== 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=hRR+n3Xxk3o0TGS8WrhQWj7qXSfSxNi2jZA2579B/Qs=; b=jbm+DGdMUomPoZx70azV6BOGsUMr/C8lKHoDCJOAoRtScqb7wUnsWOwaEdw68+9G4qPyHDQIIzG27J81S3Dj/rg57lB2h8aZ0P4fDrtwKIU8hB6LMJjk7beZqcTrPDlaLyE58EgM3FwLSP2depGYcEnUokdkEeDCcS+X97ozoreIEuFxesSvATSesryQOCDUodiS02o1tETiCf4rgsj/L4n616UWg9cB4xOdH/1CFXUrL1lsaiIAHZHIw/1rGE9amBcVddtBPwEa6GZyUoL6a1tkleLEw82+ETTqyV254uf4FdU1hnH7Uw+dWrcIxprmZEoZkC/2YWUwXTCAvg9kVQ== 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=hRR+n3Xxk3o0TGS8WrhQWj7qXSfSxNi2jZA2579B/Qs=; b=Kp6ln17KAr99y5yXrJQgXbD3GDCibGF6xjcfkd5Suxb4JTZrIH+7XeAv6UEt+D8MkAnT/Xoje/DPIdY5WcO60O+7EQJu5cBpnTBUPZeNwnTKMb3G7rA6eIB8U/+CcU9+u9a3PVlcxdK/VvtxRAkPmC/afY8e8MWKxDdUSKOkIYs= Received: from BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) by BLAPR10MB5220.namprd10.prod.outlook.com (2603:10b6:208:324::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.33; Tue, 18 Oct 2022 02:49:53 +0000 Received: from BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::e41f:b75b:3246:c1c7]) by BY5PR10MB4196.namprd10.prod.outlook.com ([fe80::e41f:b75b:3246:c1c7%4]) with mapi id 15.20.5723.033; Tue, 18 Oct 2022 02:49:53 +0000 From: Mike Kravetz To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Lukas Bulwahn , Muchun Song , Liam Howlett , Carlos Llamas , Catalin Marinas , Andrii Nakryiko , Andrew Morton , Mike Kravetz Subject: [PATCH] mm/mmap: undo ->mmap() when mas_preallocate() fails Date: Mon, 17 Oct 2022 19:49:45 -0700 Message-Id: <20221018024945.415036-1-mike.kravetz@oracle.com> X-Mailer: git-send-email 2.37.3 X-ClientProxiedBy: MW4PR03CA0133.namprd03.prod.outlook.com (2603:10b6:303:8c::18) To BY5PR10MB4196.namprd10.prod.outlook.com (2603:10b6:a03:20d::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR10MB4196:EE_|BLAPR10MB5220:EE_ X-MS-Office365-Filtering-Correlation-Id: d316a836-b8fe-452a-b067-08dab0b36e98 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Z9Nyv3SMw/c2j5MyE/ZN3Z3hK/mgbn1STOp7vUaYVLiMOqIYRXzPxZWl2aPer0SztYQ9JCRsjWpm0GwzjX7cPJ4MkqqR61McDUlmIfqV0nJRwEbRGs278RllIRy7e0lSz8J6wUmiOMJ9Ey3bkZaLz0B3HWvSQNRJfIXzNWxSItZAOjoO+Ka+8fSZctuZY1TeDhSyDy5ixz44HaIAqeGQAIanK7lrswORLO2tAJhicorXhliAHYq5skIlhMATSvnONKKRdgT6L1ZVitxZCbMeF9lsjYZRMqvV1JQfMZcmWpm9YqNMHIDaBcieuHBBOk/r/ymONR/HuR/yGXjtOaY/utexVjDcRCnyAdtn1aVkuBZUrvLnb36qo18nmMx6v/OT0cu1gd6OgXWliFWdoJbcEF824ykhSdt8ADYN0pB+CfA+w6DDVOY7Fxqyz6NLjChgHD6XdRNqLSU2Tw2YsQgrO7KO/tdF1Yl6KPxgV6vglGGwubzpui1Qkyn/8sq2pjuXtfZKC8lxxN0rTi8fh9eoGerOgrgP/aFEBGw9CI4lwlpsjfiwRytS/coy+2EZwjOsbTFucUtiFl4Pic1C21zg6P0UYVuyZ1mmxidhESmFCT7nfDQeJbW4kgQdFYmcL9r6gfuvyopvon4dhevTHYfsnyhN1053SKWRbrgJx5GwjKA6rioLjzKC4YevZLg84wKtk4aM58TbmlDe6Ter9KPy1QmeS2Ix550TICvbrhGNG3E= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR10MB4196.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(346002)(376002)(136003)(366004)(451199015)(5660300002)(83380400001)(36756003)(44832011)(966005)(6486002)(6506007)(66946007)(66556008)(66476007)(8676002)(4326008)(6666004)(107886003)(8936002)(41300700001)(86362001)(478600001)(6512007)(26005)(54906003)(2616005)(38100700002)(1076003)(316002)(186003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MRjIsfO7YpPmeO3ineMTWukAnI08AOfDYD6p3VB5AEjO2IOaAFH090Z8XlbjOnh87AmpIsJlnzWp+xiw5EPISlcOp97pWL3bl3wTszSsZnc01Q/cdg4EAUAfPaD24yvvcToz+XWqcolSNmMuUNVnObveGuxAz0RkZHBMTwlCH2MHBF1kqguEnjwFABJYRhqInKJGwGp6rR75meHgWMpgMdbJue+o6uL9cawZUGYEfBvkzgMMNI/ubq5Qpr16iz8t5f6Dn1V+aFRyxqPbetDyRSzHmDIfC0NTE5Z6peNmZTdcOVjs53S3tnsBolQrfIwXGu6Qfrn3OMc3rqAmg+G9Uxd1Y849jyfyuHP4BqvyH1FYjJHlyGyiCQtaAxfEbFF9ds2FOoVJ08BYsmeqRapdj28qvBiuQ+M9BSKL1kQf36XI8WsgiVhIrem3kphYJ721WuZGuy8gauikFDHcpDlHKW2B9DYBTp0bA3oKzHN1T2CpntVnV3AeNM16P+X8yuK/5uqOCymv54HSvKD5BFfQ44xBUJr2ymy55si28L9zr08QcuuZ4hE8caGW05VdYWIOuOY7FSzTTeBKOea8uz66SSmzCRppLQnJMq8PX5qsj5DtFblbnp08aYXQuUJGDbAD8Vg1jknVqaRJVKbf6l1kgMgOd9Ri8XQa28oxRQ7xiHLzET6A/bMxgWoEW7BvR0ijDwZiUvQZoEzyfx5RggFo/c6ZLwnRWeveE+cD6X6bsjZAMKpgCETsCEm0FAI1kbF3oYef6IjUTlB/B+JHjEjUQor5UIZez2r3rw2jJ3z1SV/ajFpBsc8g8m09QpZQR9m7trotZtHuHhkS+2tU61iWfJVZvfsuuNeDaVkeMl4OQwnVRqh7GdgZpvb4/KOdYtiRUKKoX1cND4vkaFzVZhO5XxyQkLsf/SClGVoNMJYpbWIKrjA6LFei7hrodhhbwwfKIHFyZl71pw0LSaCW6UiTahFwkIsAzoeEWGCG8CC6BQQlmY9wU78le1qmD0e8+LjLopBfycbeG26fwSHbWyD2ew/rlJ9GxJp9in24LnJ9u5vuiTQvwU3oqGgC+1Z2WNyL6ZzbUcGypIan+Vphvtm5UEmcSeUoAgFeOc6NfSbb4PWjo+3OieHthw8Rr/m0YVEWtJwq5GFth4Ob7+14X5uS+WBOI5ypJsKlNfx/YoMBn6dLQ5+1ywwoi90At2GHQDwXgbwKn+Fyqz/lSgiMnqepUe4+Kra5ttpR9u9xIEjCPtxmZ6E2NCnCcrUHij2r5YkKn119jlM6Wfkwa/jnU87DhvQtvoXXJ2sLH2FlAVRox0/5PagaYg5Di8OK8J7OiwrdPsqhBBPEp5jB54k6kSIVP0xkkgwIopWNmAY35h/2ZHPo9jHER4CICGWdidhuVWLt+ZQDI/VNy6jbzLjOJa7dT13J8EPdKbapxwbhQdHIL18lWf64e7v7gsNfOHuyUc9JfrV9IQJFMpWupHFnFVeYOZsO5XZayvRXYrLpucRixsNG0IXWiOMZ+7NdJQUCOkF5aT9S5Nj4o27kVmxmtIceQhiYeI7AFWOpp5buVRaEkJZXBf2QXmZ+uAs8/YVJsDHzy0/s829VzAj4UtcDnB/nfQ== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: d316a836-b8fe-452a-b067-08dab0b36e98 X-MS-Exchange-CrossTenant-AuthSource: BY5PR10MB4196.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2022 02:49:52.9355 (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: U41ccYeOv4tqWrWa1iFNZT+HkMQlSvDtveaWTUtH/RD40QehwVTFigBMXFaJDVxIwg2t5CozDLQIxv+Kyotspw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5220 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-17_13,2022-10-17_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210180014 X-Proofpoint-ORIG-GUID: Sroy2ReNUAohFBiOabRXCBCKPw_O_te8 X-Proofpoint-GUID: Sroy2ReNUAohFBiOabRXCBCKPw_O_te8 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1666061405; a=rsa-sha256; cv=pass; b=O+ExOwC9s5+InbsqFdlYCWEz+QegO3a0yNVP0M/UNlIOf0kqyKDCq16ImWQgG1nKf6hJvc kU43A1elDLANuYmsPGDcbzTd3VxNK+PVOQmh/+8JvT/XXweD4LImE4Jel4O7DtFeWYyEpy fJNwUDTOmqYD3m5nRpNa4LlcDptc/NM= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=pcaGjr+z; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Kp6ln17K; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666061405; 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: references:dkim-signature; bh=hRR+n3Xxk3o0TGS8WrhQWj7qXSfSxNi2jZA2579B/Qs=; b=FW6Z6bA64823hrXS2OuvpUjjMZRkZ9QbeehnXcbYBPKb2J/+yr3X2/XPE45H08L+J2ckjB J/LHrIHQvkQvLe9V+9lOP7h+siOi6IPgM6zczzgiTzaa+uyoo+Tz1o9Gf+BZ4cVlry70LU CuomvRuk0BZIkItxeyovz4AaKr+lJOk= X-Stat-Signature: qfnfpsh3te1skqf8caryzysdskq1bu6q X-Rspamd-Queue-Id: 6A0CD40030 X-Rspam-User: Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2022-7-12 header.b=pcaGjr+z; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=Kp6ln17K; dmarc=pass (policy=none) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of mike.kravetz@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=mike.kravetz@oracle.com X-Rspamd-Server: rspam11 X-HE-Tag: 1666061405-61355 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: A memory leak in hugetlb_reserve_pages was reported in [1]. The root cause was traced to an error path in mmap_region when mas_preallocate() fails. In this case, the vma is freed after a successful call to filesystem specific mmap. The hugetlbfs mmap routine may allocate data structures pointed to by m_private_data. These need to be cleaned up by the hugetlb vm_ops->close() routine. The same issue was addressed by commit deb0f6562884 ("mm/mmap: undo ->mmap() when arch_validate_flags() fails") for the arch_validate_flags() test. Go to the same close_and_free_vma label if mas_preallocate() fails. [1] https://lore.kernel.org/linux-mm/CAKXUXMxf7OiCwbxib7MwfR4M1b5+b3cNTU7n5NV9Zm4967=FPQ@mail.gmail.com/ Fixes: d4af56c5c7c6 ("mm: start tracking VMAs with maple tree") Reported-by: Lukas Bulwahn Signed-off-by: Mike Kravetz Reviewed-by: Liam R. Howlett --- mm/mmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index bf2122af94e7..3c9890e443a3 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2681,7 +2681,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, if (mas_preallocate(&mas, vma, GFP_KERNEL)) { error = -ENOMEM; if (file) - goto unmap_and_free_vma; + goto close_and_free_vma; else goto free_vma; }