From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965099AbcHaQf2 (ORCPT ); Wed, 31 Aug 2016 12:35:28 -0400 Received: from mail-he1eur01on0124.outbound.protection.outlook.com ([104.47.0.124]:22327 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935717AbcHaQfX (ORCPT ); Wed, 31 Aug 2016 12:35:23 -0400 X-Greylist: delayed 3482 seconds by postgrey-1.27 at vger.kernel.org; Wed, 31 Aug 2016 12:35:23 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dsafonov@virtuozzo.com; From: Dmitry Safonov To: CC: <0x7f454c46@gmail.com>, , , , , , , , , , Dmitry Safonov Subject: [PATCHv4 1/6] x86/vdso: unmap vdso blob on vvar mapping failure Date: Wed, 31 Aug 2016 16:59:31 +0300 Message-ID: <20160831135936.2281-2-dsafonov@virtuozzo.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20160831135936.2281-1-dsafonov@virtuozzo.com> References: <20160831135936.2281-1-dsafonov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AMSPR04CA0049.eurprd04.prod.outlook.com (10.242.87.167) To HE1PR0801MB1737.eurprd08.prod.outlook.com (10.168.149.149) X-MS-Office365-Filtering-Correlation-Id: 59937778-a9e0-459d-f1a7-08d3d1a75b0d X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1737;2:QLoqvDgDQiibVNYSLWq1cQKVenagHKDi3NUdHMpM6xI1EdQgLoDktySbtJy7WJ9nWdpatUVywzzfGu8J7WoF+t5VS2LKr8nt1cMftlVklrfXAYYQBD5OgYmEGOUhAkjbd7xwOwtg9rSBB++5tdDQALeCcGDLI8fCUIcWkgBlpJd9+oDZXfclur76RFxrKgTA;3:57R6ii/g3L5DEx7Z5gXwXciK0RXTNyMf+ZCtEEeq9lXq+wkzqzLUTqmTS2jFr1EAoXI1ZdnGb+xg/qGo3KoC+RhwDviYbetrEdBtryYKy3vRHlPaQZXp/x+tDtz1Ks8V X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1737; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1737;25:tM5p7QnAlfPB6a7tJls6cpPR6IgAmdDE4Fzl/sZdJYmO45+w0sv0rQ2Na5Fmf9rdcIENoLg3wcBDHJKy/y49c60tOgIfqtDDlDPc3QQpNg/s4Asbk9f8Gxdrfv9pZxB/F7wHOjEGfhXvfB6eRjYUTMynMyEDsIWRM4MW3gibugdw4LU+sRJdsbFfITZtDfqxJEJlzdzjJwtrywU3VCOWODZs8RP+pI2kdRLsCgAFE6NB5ZVsy9NDnJ4o0CfLtv1a6mcB5tR3IgzrDqqkjvWHoPys/aEoA+qazhs1JIQQFp9ZOy2YNLziL4lGsVapnOKv4IWC3ghXuOyDjob3XAT+tt0r8flrwVjijDjoBPcQ6nW8PxxX8ULj0mNEqDbnTQCyyeI8PPX70zhZ7/DXxpRf+YNF7Zqpesxh5yxJNCbvkABdKIZsnLFcXBRv7FZq8ArrX45mFRiJL1Jus2ueDmyYfYjeGfmiJPO2kWm7FO4SIk5zVvZqra8opjuOmb/KS1+bvWm7uLm+MAkPkRhjqycu2PtxyakK3e5TNAMiW+xv5On7olsO2U565s3/eomtZecG6GJyJlvYO+b58qIXVT1K2LCOqYWXS9kZ267HKBUhz1g8Y8H8DAUiqccL4dUOowx8CJgK8Zy6/IVPRLvQff82/zMfOcAyJZK8/0smD28lLeEv/x+PjWBP2Q5Cl7muUMpb;31:7kav/ipxJj01K5pMU0goo3iMl/gGMT+JxdoEH70HYKVR7yrlA4+sprBV3GUmr8n3Lig/kPKMMsPdCcY8VhPZPrh/ySd8FIFEZ9ess5bI8pk/d3Mo7BzxlPCnbi9u83IhCKM7HLZbmrhpKTt7SSiu5ZiIIYZDwYa0ZaxoWrO/7jA+v4/6s9XFCsXgXK6sJdFzwiqat4giubPODsJQ+106+wuobSBx5DnlcPE0BwxI5Rk= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6043046)(6042046);SRVR:HE1PR0801MB1737;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1737; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1737;4:CcTbPnhBTrS63bXUFRKXdJsMWLPS0H0yRWV16HkxAsR2MdgGYOfMIOLBJI0komFLtBKt/41L2Fb8bz6wQeCpRlXnk0XjCofORkxKndGPcaE6NbUZuQxAj8mbnDXxMaZvC3AFHjHey4QoFmGi3Ys1LLKd53J78XUh8zr9XX9IvMkIpfGxVWAqFwg0/3JKi0bmWECtilDEfGInOqCItqI8T3SoWXgXltQsvSEBW3ddPZBGcVXehaZpS7EJJWIAYsv9ZbcIB/nH6/iihgMyEzR1xe0mjA8qty6OzE/psLs37KlanWBXwEMjd0KSKJ+TvmTxy2Xv6bhPqh/bbpOB2ZZW3WGFo/kcO7X6W+mgZPJJWIVUSEGnfVS+XxHQAxd/IVoJWP6ZyceeOwfbnbKouOXHJdf1EihpW6FI/7iNn8E1GdU= X-Forefront-PRVS: 00514A2FE6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(979002)(6009001)(7916002)(189002)(199003)(5003940100001)(92566002)(3846002)(1076002)(6116002)(36756003)(101416001)(105586002)(106356001)(2950100001)(586003)(97736004)(50226002)(50986999)(68736007)(76176999)(2906002)(4326007)(42186005)(19580395003)(4001430100002)(66066001)(53416004)(47776003)(7736002)(69596002)(7846002)(81166006)(81156014)(305945005)(86362001)(8676002)(107886002)(2351001)(110136002)(189998001)(19580405001)(50466002)(229853001)(33646002)(5660300001)(48376002)(77096005)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1737;H:dsafonov.sw.ru;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0801MB1737;23:MIX1RaYkLnIHVbvaO3jCMIJLALLYY4gil2AwsMY?= =?us-ascii?Q?8VXNCu848APsYizyhv3L7OTm//BisTALps40g134BhDEeN35iC7VKvt2XyTZ?= =?us-ascii?Q?kF5ooHHVEHiKo0CqIQN3oL2RDJEE1VY53TBgg+hkgVUql/SiE1Vpim045Ep5?= =?us-ascii?Q?hBomHfBYEbaPOZpqTkJBGohS9t3JhpmB/F+KoJOqtqWMD625yFf8ext1cyIw?= =?us-ascii?Q?/jYJWsiq1B0TusLfbFETvm3tdh9zeqQPv+SpYgYEKMZezXY73l0NcLuLcTfa?= =?us-ascii?Q?2sLtLR02gPilUrIdrB1nFPErG3CRDtyKAzgVqR+OGkxS67+5J89Jx4vQYHny?= =?us-ascii?Q?hTxqBhAWN3kUmREXSx9YPDQ+gRKRXxNHNj5yGarCNhbb9GsXalIePBZ+iRRS?= =?us-ascii?Q?PYIzEgn7p8Ivjtiawx361V07cGbipYMi/+emYEv/I9tHp8CsDbTu6+AWJGnl?= =?us-ascii?Q?ZkIILtr5LeeSjiwO4mxrdSzNyVUNi2jhFeAIcX2eWy9mDoFEiKOJQSN7BqBk?= =?us-ascii?Q?yFAqVZmoEl0VPaQrmbXCywZZ0UfWHK9XR28IduJGFIaF/tJ62EuxjhhS562j?= =?us-ascii?Q?EhIY3ilwp4HN8ZN2aXCmPXte+LJyAm0Y0S2lA3/xfFoH/D4yL9QBaVWafVhx?= =?us-ascii?Q?IIAiqAAE6zboGT/sAoNDgYhTxIYSQp4OUfZ70vaaicQ+OMUE3APd/WdnG67n?= =?us-ascii?Q?Yi35Cenfu6WyRDT29VzzuTK0czjLoRMe9v6PQHRntDFMCxx9Who2yFBWiOYX?= =?us-ascii?Q?aJdBDAf5gP2AWgCJOlrHKYnt+pzG82l6GjpMHvLwUa0G6wBEH011WU6xop5w?= =?us-ascii?Q?nKFr45vVPNs0QOVlbprY9JLZLVVzq9QWd03IqyCXdHQwTSKP61SH5ZXkbFB2?= =?us-ascii?Q?er1oujf787Ykr1AdZVQi3bwmkzcouKtfk8WqmJR/SKFnNBGISQCc1VioGmXO?= =?us-ascii?Q?r5zwi3BkJKjpGO0acIaDVwI9ZWhYdzRXhyMVKgQYbHNzonqNFakS1iJuNVKI?= =?us-ascii?Q?yR7kqdfWkibjdQLOz1AAEnu8xvWHl+wTroT01aPyGhMaqV0Fen4+1L05DKVj?= =?us-ascii?Q?X8IC6ZWyyFJoH3YPA5t8Sc+GQId/zjRlDCs7IQpo43Xl42O8XKv2m/v4i+Gj?= =?us-ascii?Q?U5/pRuz7nm1xThxu7HqJKGJy0c7fbERufoKftM+mRiMoO/8ihFtxip/6oWDM?= =?us-ascii?Q?yECknGnhjeB5xvOLjwiDx8XPSC9mc/qlCBD/yH3VpjGpDDRb+TGXVnzNG2FR?= =?us-ascii?Q?7aKACPpELgzPIfGFV8wHoWJ+gJ71uErXz3+NLKfTb6QBIBKPqA7rBBd7Xw8p?= =?us-ascii?Q?WE38BoYOZ6stSF4vbtQePFSk=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1737;6:W0j4XReGx3G7bFD5lDYOxTIsSIGQQXXsIOfop3M1G97lfpkW+/UGauujRI9ayJ2FD1s1MlYfeM6Y3yu+QYK4pktWnCgydwGy5VVy8AdwImKQHgG5NDWmiv9PB+lxNyEbHevljH2swlS639nEs1oTIp+se8MbyzKWyj0opZvbEBCE8tSAIWiJ1pGsp4La/lBjlDxW4ago5acJDl0SbMdDUgSzzvAJAo0FpuDMms9IlKEmvsxrK5LBC7DcDJFJg3RHx2EWS5CotzDoh41Vosj2sVoRL6Nxjz2iwDzBqB2JCWWsv1k6/oqLsiW/LwHEe3KX;5:cvSupi+oM6vE9CJ1S8/C/t8SJ/SaqdaZhNaVvXy7XvrfsVHQ3zy46EiW7T8+gLF2VzbmovWp29YEUYyslfTYJjPc5gv28T0MZJSMo3P2d32EHWrMvxjGez3AEk4cGXLsEovPULGzlR/OZlZXDv76Og==;24:MbkOH8R73R46UYV2/Ne6joeCranCop9oGgI6Xg8fCmrLdVx7Zk2i23m+OXmak5uHMyjktmXqlqTXl2qB/WLZXUEgjCdSiJn3Y0wfUSGR4XA=;7:8UhwmwRn9aiq8z/5YvUodHrSUWHg3flQECItacn+tyFP4mlBOPHhz5cXOiUMd1N5ATaq1liA1/qdXxS99kPCXG+pFJHj62Mq3OmqkMmcqeNjwS3HExaduJ04ZaOFqZw3WD1tOXjGsCMJqpS2kvWvJZvSzIOQ06jsnaxxAd7rc6EbppoCAf6ZSzP+4i882Jdshhjb0pxt5G3i7ZJXj9QlBuRGkS+uoPYTWlrzqYBNwu8BnsxSgUMUjVgYIxCTBPvd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1737;20:yegPyOD5RpTuweI+eAqDbrpDNurXldsJw9JU2ug7IQHHkJtC913AyQ+2sS7MLyWEQRem54KhwH+AXChJ98Lme79IEMoYOblsQFkoVIvm6noDPHu1/ZKV9vWpWNbxeBZB7LTRhyxkWvEkkT0Um2spdV41tKaCyOl97cAKYHDdXnI= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2016 14:01:49.6577 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1737 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If remapping of vDSO blob failed on vvar mapping, we need to unmap previously mapped vDSO blob. Cc: Andy Lutomirski Cc: Oleg Nesterov Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: linux-mm@kvack.org Cc: x86@kernel.org Cc: Cyrill Gorcunov Cc: Pavel Emelyanov Signed-off-by: Dmitry Safonov Acked-by: Andy Lutomirski --- arch/x86/entry/vdso/vma.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c index f840766659a8..3bab6ba3ffc5 100644 --- a/arch/x86/entry/vdso/vma.c +++ b/arch/x86/entry/vdso/vma.c @@ -238,12 +238,14 @@ static int map_vdso(const struct vdso_image *image, bool calculate_addr) if (IS_ERR(vma)) { ret = PTR_ERR(vma); - goto up_fail; + do_munmap(mm, text_start, image->size); } up_fail: - if (ret) + if (ret) { current->mm->context.vdso = NULL; + current->mm->context.vdso_image = NULL; + } up_write(&mm->mmap_sem); return ret; -- 2.9.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f197.google.com (mail-pf0-f197.google.com [209.85.192.197]) by kanga.kvack.org (Postfix) with ESMTP id 7A3CC6B0260 for ; Wed, 31 Aug 2016 10:01:55 -0400 (EDT) Received: by mail-pf0-f197.google.com with SMTP id 63so106731093pfx.0 for ; Wed, 31 Aug 2016 07:01:55 -0700 (PDT) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0120.outbound.protection.outlook.com. [104.47.0.120]) by mx.google.com with ESMTPS id pk3si54880pab.101.2016.08.31.07.01.53 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 31 Aug 2016 07:01:53 -0700 (PDT) From: Dmitry Safonov Subject: [PATCHv4 1/6] x86/vdso: unmap vdso blob on vvar mapping failure Date: Wed, 31 Aug 2016 16:59:31 +0300 Message-ID: <20160831135936.2281-2-dsafonov@virtuozzo.com> In-Reply-To: <20160831135936.2281-1-dsafonov@virtuozzo.com> References: <20160831135936.2281-1-dsafonov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain Sender: owner-linux-mm@kvack.org List-ID: To: linux-kernel@vger.kernel.org Cc: 0x7f454c46@gmail.com, luto@kernel.org, oleg@redhat.com, tglx@linutronix.de, hpa@zytor.com, mingo@redhat.com, linux-mm@kvack.org, x86@kernel.org, gorcunov@openvz.org, xemul@virtuozzo.com, Dmitry Safonov If remapping of vDSO blob failed on vvar mapping, we need to unmap previously mapped vDSO blob. Cc: Andy Lutomirski Cc: Oleg Nesterov Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: linux-mm@kvack.org Cc: x86@kernel.org Cc: Cyrill Gorcunov Cc: Pavel Emelyanov Signed-off-by: Dmitry Safonov Acked-by: Andy Lutomirski --- arch/x86/entry/vdso/vma.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c index f840766659a8..3bab6ba3ffc5 100644 --- a/arch/x86/entry/vdso/vma.c +++ b/arch/x86/entry/vdso/vma.c @@ -238,12 +238,14 @@ static int map_vdso(const struct vdso_image *image, bool calculate_addr) if (IS_ERR(vma)) { ret = PTR_ERR(vma); - goto up_fail; + do_munmap(mm, text_start, image->size); } up_fail: - if (ret) + if (ret) { current->mm->context.vdso = NULL; + current->mm->context.vdso_image = NULL; + } up_write(&mm->mmap_sem); return ret; -- 2.9.0 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org