From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933936AbcIENhh (ORCPT ); Mon, 5 Sep 2016 09:37:37 -0400 Received: from mail-db5eur01on0119.outbound.protection.outlook.com ([104.47.2.119]:9632 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752686AbcIENfY (ORCPT ); Mon, 5 Sep 2016 09:35:24 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dsafonov@virtuozzo.com; From: Dmitry Safonov To: CC: <0x7f454c46@gmail.com>, , , , , , , , , , Dmitry Safonov Subject: [PATCHv5 1/6] x86/vdso: unmap vdso blob on vvar mapping failure Date: Mon, 5 Sep 2016 16:33:03 +0300 Message-ID: <20160905133308.28234-2-dsafonov@virtuozzo.com> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20160905133308.28234-1-dsafonov@virtuozzo.com> References: <20160905133308.28234-1-dsafonov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM3PR03CA038.eurprd03.prod.outlook.com (10.141.191.166) To DB6PR0801MB1733.eurprd08.prod.outlook.com (10.169.226.148) X-MS-Office365-Filtering-Correlation-Id: 98ad6ac7-78ce-43e1-1633-08d3d5917bf9 X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1733;2:QievS9k9kMvFNERLKKULDoK2hMA9TfJXxLei7jNBJEshGq+E+EbxKFFLOaRkktfIXa/cn5TxJLKgxXrpTRllXp11ye/CV8qimwvL39YkH+Sgb/XMK4N7vbA6UHzf8JK94UgYnjF9vghulWBroKZbQ29P9MZMVm+mmgYp4aKZfQ7aTggJ9Jo6266si9SOjtX5;3:o2ESUyvpsjSRG8MrBrkCjK8fudzeqymqek9nhgpNXYufQ02HcD/sKp7haZ0Uhw5YruAhfehH5RoQhvbRiW9RbgUgCrkulaBmnELiWOvgutrqjvvZLPiwphwYdRZgQ3V2 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1733; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1733;25:H9xESxNRykP9bog2iKc+9QWPagZtaVFr/nzrV9MPwX2H4lhpjTmo3GaKmpZ9v3Do/NHFO9QSfFPIlPt8VC0hy6/qI+58brT9trsGpNATLV6qbGoLm+o/5mDZd1tN2DSuTPFU0HWxaxztFjkoVcMn81QcpEzZDP0qBFv14y56PdD4RoR3aLXcWFCuKDjhrZV4KC4i6UhzSQxiLHP4kyxGA+1Gsj/afdoIzUcuMhwMsmQEIdLfdmpwp8HI47PqpBhYPuM0vfMXzehPAdMy2qbwLT66pIshRuzMMJdqW1cUA7VbZ3g6LicwarDWNx+GNULMi45mjdrvEFZvoVelPdYFNAfYrTZF0l7YbDR2i/GDAtMx3OrdS325FrGb/o0+0ECQoa/jd0tb85TqHUl0gNgp9Brdm3kusHL2g9CoZLhl8Aug2bOm71khNBQvsjmaVUYDA90+zZdjxLBBtZoYgbOiogIdITVITOviTj/WszPoU6DsDVnFiVyG3g22tND+IbCTfO3U/7uuBFB0g5SweyRIjneMc3GUB+IDSuMgU2aKo+tw7rVureuRTQsZbfMQToc9xS7GHWQJOs+BGpvLvBxXtOD3IVWCSPXumWSnTvZ7Y/tcWpHNmj/8YHzXpFeGc7qHa7ZQ5kmd9OYsWT+TzpXNjuvvefvJqXIjSdD1eLOUqn+w8hbKKo6uxwU181FYlLS0;31:xRfaqLqoBt+3FcWblnkWHWXQbyG3wqG72K7ePLJXOeOtWdDDMfQd5bohG6vObvZQJgDfztQt47+ZNmeKtqOhW5F9/ml64PPnFIPVaCv5F0NV4y7PKXMvC6yqKM4mRksX47hE6RJvp5oAlWsh3Gf5qqrQChER5vQfGTAOOkRov4ORrhJbRnD366E/Fqc2jzfZhBtupte6eTDEn6jyzgEXRnGJRiyQL2CfumGwdNZGybA= 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:DB6PR0801MB1733;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1733; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1733;4:MElhm/1t/e7wBX0U0M1F0cIbNckk5hvSU0L7QUtU5q1+NljV10YJ8avxlul9zE6QOhbkRBgc7RIBBiBsiYioVdmRDDoAfZp34fQpu7VM8ou2RMVxzNbbFrFl1Sb6QwKlS/a1eR5dkPhg+Txs3MORcg/9nfSybiqYbzqAh9tn/e2L7WuCbUvkTAPdDClZNwoEwm6hOl2zBwPPj2dAFlZO4R3znKYiUooLIr7MriF+ueohDKZhZe9GQ8ZrLyzJFnvBx+XZneq7l93ud/eVxB1VaU7FA8ebRKuWVniTTsN2PaIFrwAoaJj3AR/bgXxX15G4nx9RUeKGyHM+vu9l8/RUj+keB6DhTTfUumC3vEyYZV3z3vk13oFnIvel9PEgsR2UKvRtRUFmuIYE1J4WaW7alV0gzKoNTDYYJvoSkpXdnSk= X-Forefront-PRVS: 005671E15D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(199003)(189002)(33646002)(2351001)(50226002)(105586002)(106356001)(76176999)(19580405001)(4326007)(586003)(5003940100001)(189998001)(69596002)(50986999)(2906002)(305945005)(66066001)(1076002)(19580395003)(6116002)(8676002)(48376002)(107886002)(97736004)(3846002)(110136002)(101416001)(86362001)(7846002)(36756003)(77096005)(7736002)(53416004)(81166006)(229853001)(81156014)(50466002)(2950100001)(47776003)(4001430100002)(5660300001)(92566002)(68736007)(42186005);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0801MB1733;H:dsafonov.sw.ru;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0801MB1733;23:eS8WTSA6Z3adK4G89n/PHiSzvZGo6mnoKIgdJpp?= =?us-ascii?Q?h6G0yYg21AcBD0yw3sVg8a1L60LKDrmCpUDGX+Uypl2fSMv6nXLbwOUtHeUk?= =?us-ascii?Q?/kKeIrCjsiWv/QB6pTO14ibjmTcW8/txriKBGWtvFdfWKMMLTx7EWMtaYGqu?= =?us-ascii?Q?T92KJNaYCdYuWaCoycv0+lRYKxG1r/spikV+xy1MffyjHlvsN40euGOSUrgh?= =?us-ascii?Q?v7PEFCuEzyn1l3bfC7NODQEOp4mFwFNPi3yRq/K/0zSByIeiyqx6K893HgJw?= =?us-ascii?Q?5vrY8YrPwUYEL5W+7cbHXTpzjxEwjh1tLsuT7CIwZJ0ZmwBTt5eksgG0ajUQ?= =?us-ascii?Q?D1r2koekkqQxII1G5q/+Mp9I4asWTdhHUnVdSLaElkwfcPDZsEkzOmySCDd0?= =?us-ascii?Q?cENj0iMXLZna+GKKFh2E+wwkighemTMJPVO06obCOn0lQx59jL5KH92f8p8d?= =?us-ascii?Q?PWot+ehUuXk0LLwTRkWn1gMNfascyzO8DwV3lDxasQBxe85MLz33L3gY3Bze?= =?us-ascii?Q?y3CrqOh1jVRIrV6bfdF3MB2gwWHwpEBQyAMdWsDGCe37coU9WSjP5/QQd4Jx?= =?us-ascii?Q?bCSUoUDbBjnzY2Ox2Tl0qnUI+4Whf1/Rt3RI5mjnt2NLBC4ha9ZlIc44o+bf?= =?us-ascii?Q?6jyGp1ApWW0oGHI3NI9V0Ccb/B5kdtWKyfawqjQ9IPtb1at3fXmDxwnobXE6?= =?us-ascii?Q?/XLupyfiC0rKBgbkB24Iy31Ne7D4OkyZvbGXCpCjCvkQ5yrFeFAR03W4jehQ?= =?us-ascii?Q?dTGXRzvR88mujpVA/j8hiCrGJkp1zhP2yK13elvFM2hOsnYvigKKM9QT3D/q?= =?us-ascii?Q?Rpub/348ubi5kY6+phGIYXhJWmeiQQaN3pIt2yE/WxjYzKVx1wgg7D6OLGf6?= =?us-ascii?Q?Zv4rN6mLTbFnbbyxSq8BGvXVXpwX1CVIxZ+MrhF7w38bgU4CcK4WawUxE3FY?= =?us-ascii?Q?x6mC8i0boF51pX9uSyhP/VCEf1qmnHugz7o03BpN0oOSj2m2kNB5jLIzEOw1?= =?us-ascii?Q?StMrnLm8BD2oZc0O2GuzDbKW/BHD1q7gKEgOkFpkFTCMG4AMI8pKN14yxC6R?= =?us-ascii?Q?Mp44nuaiebQRThtIjU0t/Vrn7xFiDyv1iVEzreINfjSG3L7I5a1aP2H+FhOW?= =?us-ascii?Q?KzR52IHjZ+7CP5OohsP2bRjjPgNJ6B0wSF/Ct136hcSGFgRkYj/Zi0B816EO?= =?us-ascii?Q?BRvgNH46tUJlfGiyuRb+9wOAgS2TrVUy1T4A2?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1733;6:VhvRj4fhWDIvmaJsnJdgkKlHeI0aPS4QrzkC5S78efYHiUga5QJGNhi+XtwtiLirsJotrj8atTuLJxg5pu5C/6XmGBICMJGysr6O7oBfebkVldo0L0FURTlKV0lSQRgyrZCjDf7IdYIvvXfIWhSG9/bx5CDPOMXKMdAPxKoJTfLN42ereF/4LzmaYlzTYqqnqz8ZJ8zEFizp/IX4vZUzH2oWRlv+oAda1TzSj+4NT4aFSQEB4slpHH9rR7fLZGpxa4tJbmEN17r3vGokFbz1X69M0NJRt618UhVYX+/5LE7O2AUdy6hagV13EDSib78X;5:EG1tpiEa8Il3T17zAdEixk+Eae7r11XsRVKSzl3l08M5oEqRXBkPOde3u7FElXbTwX1V5PnxOFocQz/W80sLpo4ANoe749pFR4MvTULGalvqPuGU1zdvclHbfwa5VYVXeoTzbtKIp6Smj9sm5X7kTw==;24:yu3ts3RamG8lYsOGv4/07Xgj20pQbW9hmkXcyaPl2Ih/16zy7mDr8MBp3/H5LsjMNtkLG8zZeyHFe87XKCHk7Ke/doxp686qiMhsK2ayRHs=;7:id7uJZUZ49DVn7G/E4zJUWbmSjzyvtRWBIsjAb3VNGRwN27W9iGrlQDSrvGH6MxM3yv+sF8LzAP/JbOfa9R+4RYC6tH9pkEdKbnLjZRYsTlyi30DUD6c0pKwTgXVcXeL1Rd3p5R3A9bPMfGhCW7wavS1VG3O6P0ADUlhlSMXF+h4jXqCiitvDDUtdsk16Exi9tkdBVwOwOr1C56n5PTpIDcgekTopyeSQ/wBL9XL5jY2Tmm8A+HRQu6cnTxpn0hu SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1733;20:QveHauKAPpdyWyYDQDk71GCI9IOT8BuPyR5rTacdtMfQYHkn4qznDElQJiGspTrxNVTOn7xZErRfIIfCLTgXsdenHGAcz/8oQaii2aJ7caI7QwkRnlMcfCDvngQqLV2v0qNR1vj9qVfKnDlSgXxHKxbgla2Ea4Xez6zli8pryzM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2016 13:35:20.6319 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1733 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-it0-f70.google.com (mail-it0-f70.google.com [209.85.214.70]) by kanga.kvack.org (Postfix) with ESMTP id 8A1E96B0261 for ; Mon, 5 Sep 2016 09:35:24 -0400 (EDT) Received: by mail-it0-f70.google.com with SMTP id g185so56393950ith.3 for ; Mon, 05 Sep 2016 06:35:24 -0700 (PDT) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0112.outbound.protection.outlook.com. [104.47.2.112]) by mx.google.com with ESMTPS id f3si657988oig.181.2016.09.05.06.35.22 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 05 Sep 2016 06:35:22 -0700 (PDT) From: Dmitry Safonov Subject: [PATCHv5 1/6] x86/vdso: unmap vdso blob on vvar mapping failure Date: Mon, 5 Sep 2016 16:33:03 +0300 Message-ID: <20160905133308.28234-2-dsafonov@virtuozzo.com> In-Reply-To: <20160905133308.28234-1-dsafonov@virtuozzo.com> References: <20160905133308.28234-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