From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932395AbcFCKhn (ORCPT ); Fri, 3 Jun 2016 06:37:43 -0400 Received: from mail-am1on0133.outbound.protection.outlook.com ([157.56.112.133]:27979 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932115AbcFCKhl (ORCPT ); Fri, 3 Jun 2016 06:37:41 -0400 Authentication-Results: virtuozzo.com; dkim=none (message not signed) header.d=none;virtuozzo.com; dmarc=none action=none header.from=virtuozzo.com; Subject: Re: [PATCH 2/6] x86/vdso: introduce do_map_vdso() and vdso_type enum To: Cyrill Gorcunov References: <1464786697-20639-1-git-send-email-dsafonov@virtuozzo.com> <1464786697-20639-3-git-send-email-dsafonov@virtuozzo.com> <20160603095014.GA2431@uranus> CC: , , , , , , <0x7f454c46@gmail.com>, , , , Andy Lutomirski From: Dmitry Safonov Message-ID: <0f5cd36f-0b03-d8ae-eeea-98d68bfd3b7b@virtuozzo.com> Date: Fri, 3 Jun 2016 13:03:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <20160603095014.GA2431@uranus> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: HE1PR03CA0042.eurprd03.prod.outlook.com (10.163.170.180) To HE1PR0801MB1290.eurprd08.prod.outlook.com (10.167.247.144) X-MS-Office365-Filtering-Correlation-Id: 5c145330-923e-4098-8373-08d38b967c3d X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1290;2:gvu3UGBf26vCWiN8ugAcExJt1YY8R3os5KZufmZEz2wJA0bPMbH3RUubM9gShHshdkkuQJ9Qe2rpvvGV/HDE1VAHdexGrP0D8udyKAlzGgrxHqRcpjnveroOJCOOb+D0oEmvE6LE1sbYzxKPXrClAkdel56cbHbQ0JV6qBXyMYvxgFIbhAqcVpo2k09atRhG;3:LYTV50R7UFVN2hWeXPcMXK6/coyDTHpYuWnlCX9euXAukQw+354ZKBnsd8ZT8m96omN2O+UR6IHrlZWj5U5ioR2HLygOQ1HWVFmyHZDVkKOKV/kkliZFW/Noba5xnowc;25:0chow4JKo4PD4qtS6Ujfb8S5gRpiMO/Pwmp6HV7tiKCiaC46nTlbaU7Z9ttddkKuOIyMRWScPsNMT4Npkm7y3cMdL5X8tTRdIVA7SxMo0SD9/GGTL20aYH2MMkixxuDQLEkwKyUNB8yDp61qkMeV6opWAdlMDHGpJzVVLCf+xOg/OWIz5I4ordQGFG/UBHpdxXD9aaOi+AlnSKsRSm/FAIN64+ak2HmOPxf10BhTOICbdesJMBHP/qHxww7MFpJcmIHdNX+453xDAkVjLysFPMsAB3zBDeL2Fq9B4KxNuhkxV2Z5o7+gTi0tPkNqC7tRhVFV8ZTC1v52XZC+zh94XJcB2wtriNq19cx3guzyM/LDm1pNsnvUXhGEM9PsKCzwzWxE/gBNaIr3vR9Mps3wBy/xvhDX7ry9Ws5uY5wmtxY= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1290; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041072)(6043046);SRVR:HE1PR0801MB1290;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1290; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1290;4:hMW7oyBM30wvMVx+HOdmz47Z+C0ZdIZuKoH3hcXbOjvUv5CkuBS+1HjYz6CNlOJDgXYLalhFpQfoE347YdtN0/3ft3VpaEOwz3uUvGFIImzTisszKwleQyfLyvP72UrU1MeESf1dBwTKpJRX3zEyO1jycuekHdG35LZpP5M5UQcNHisRBe5yDyE5p2xxkG7Msc9FRdJ1cLXdSYcdW7OOWDZ9ZzQnoVSMZrmLksL6Ikle5FzTcyAJvpoogRsOAh7xeiHg602rTU4FTQdpzBcnkVfX9eN4jN9ApmtV5yqbo5FJ7zcsS7ESRRl+kr06efVIAVGGlQUg5ecALvCSivkt0r8JDsMbkfYukBRRrwYCCmKR4MbjALXw1tptT3cMymyrrkuQETsvmLKxGUlOBv+5GR51PDbQqREBVlTcAxIjX1g= X-Forefront-PRVS: 0962D394D2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(24454002)(377454003)(3846002)(50466002)(92566002)(31686004)(65806001)(586003)(5008740100001)(86362001)(6116002)(110136002)(189998001)(33646002)(31696002)(65956001)(54356999)(76176999)(50986999)(66066001)(230700001)(19580395003)(83506001)(4326007)(4001350100001)(77096005)(19580405001)(2950100001)(47776003)(8676002)(1411001)(36756003)(42186005)(23746002)(2906002)(81166006)(5004730100002)(65826006);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1290;H:[10.30.26.154];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;HE1PR0801MB1290;23:A8p4svwNJnkuWGCc2ZjJZZ385ffs7xY2J3z?= =?Windows-1252?Q?clRyypr+icP4Kfxhe7w0acKg9/89YboWuL+BjsiNtu6+MoYC55ykOa1K?= =?Windows-1252?Q?Zi7CNIWy14XFavrougUUpynrF7NxbYYIQFAI1VrvLEyBIYY52cI8YbfB?= =?Windows-1252?Q?D9LDl0Et6wpSZ8jpDIzA1BedzzQKYTwc1OI/l5zbI9wVD0ZCgF9/sID+?= =?Windows-1252?Q?nGclupr8dXAmvt7oBSAb6DvZsyaUxREhqaIF/3do3jsFj/ZSafJcAnwf?= =?Windows-1252?Q?K8pxAwJt78KQy+VRVCAr012NIvDwygVNTK8kyL/bXXDgEdaISFHJFYfr?= =?Windows-1252?Q?gOJvkuR4xKTiWOMQCZwhqjwAZPcpGqVB0+FxFQHGCtNJ+gUxisOjaESY?= =?Windows-1252?Q?JUVi17yu6swMU36jbln78rnUyIbiPmkBsfTpKPNuAFixvqQgJpSEQKlO?= =?Windows-1252?Q?VzxxytvM80V5eb/XHe8EOAgyoYail2/2iP2Wywrl1hGAPWUYu/u7fdmQ?= =?Windows-1252?Q?XlZBtTpPVW6t3esCa5Y66O0QnyCugzXKTCEmsP3E4wvL3KevJ5pX1GQ8?= =?Windows-1252?Q?vMIcMvllkmPnQrZV2ItE3cALLYrpehO0G9xyC1ZOI7MrTWSKWP6f4Hz5?= =?Windows-1252?Q?w4uHsLCzX0Q+xqqG/k7Xis4bcEkdVT5z+k4/d7aQiABmQsf38R4Vu95I?= =?Windows-1252?Q?OnPi1QzdkAgokVEcPb5abxljt2po9T8hg2ntkhrMY7RVsaeABJcAAnsA?= =?Windows-1252?Q?g+AgQ8CRC51X7mjiHm4+69aAxW2vubQYNyYrIdr30aNRYb4CvQcsxjQZ?= =?Windows-1252?Q?s1xiDzhg+L6xECpVeofiVhJEGJF+26kzsL7hiUcEtUtmRTm1Z/sgoq2R?= =?Windows-1252?Q?ARllS4qtLODgIf7hBTDgbRkuAP000dcXghhiIqQteUhyX83hsgaunJiW?= =?Windows-1252?Q?p9Qu/f8P8cFiIau4JFBXVUDDCR3HcwllcwIyxA0qiN9oJMKkxg4Cf+Jg?= =?Windows-1252?Q?bw+tzlPpqlVQnaTE1FTgcDp+sas1gNrqqfOiRjfdDVak2HDTkJiI7Tww?= =?Windows-1252?Q?Z9ZhTJhxBpImIytL8m5EvyvRc1r/iCaGjKDbXsH0Q/lKmZPo538snueP?= =?Windows-1252?Q?2zru+/0aO0Z7XgmPgyDqUMqy48E/Xp4WAUUrDHZ2PdqwJ?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1290;5:v+0aTIyWBRnTJLHoX06O8+DYkdI8iIpKZJn16cnyj6vXsa4JIjsELW6RwyCWAqxHdcMokOkx7ytFZR+ZBrvqutrU97POlX0MjfcP5CgXRwt+QIGIg/4AJIY2UCwy8WNjVo50N0efK55Nld/5G9e3OA==;24:aihqkr5BfOoiT+B9ObdftvkQwjTsOfR0lHFDntOePabjiC+CszmqC5d/lnZLRPxuJwwtel7Mj4izZnA4Di+nnWIJkYXlVUAMnQRiBBdl0gQ=;7:j26OKkJFm/qgcUCY/q2fhLH4A6Z66spZl8G8tksI1a/keChw27Om2QLDznWOPqDSjcaj0+V8XZtKJLcek6K5fwWuWTjIp6lStG/xT+Mn/XEcGWgj7e1q/kvrYF2/1bEbsycYHs4S//iGcJ1q+KlcJlFaQ5JyQE7L5lVmNIoBtEgvWjSVSLoEzVikszycfLJpl2lzm9TwOOd+qp1P8HA9TK0iOPzWS/INHztO5EaLwUg=;20:4nND93DVWHz1TjyCtN7MTKL2XirPff8FiT/IYR9Yy2Q9nULmv786G7z6/IC/1TwbgDiQ0OgtVeA1tBPqhxGE7TNmdgU7qcnv4rKg/uL1IpI5OSPYUp+mpcAxvd2K8Sg8NOp0QV6uMbNBlz4ReXI2WRDqoDwqaX37JJCLw2+FM2s= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2016 10:04:42.3257 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1290 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/03/2016 12:50 PM, Cyrill Gorcunov wrote: > On Wed, Jun 01, 2016 at 04:11:33PM +0300, Dmitry Safonov wrote: >> Make in-kernel API to map vDSO blobs on x86. >> >> Cc: Andy Lutomirski >> Cc: Ingo Molnar >> Cc: Thomas Gleixner >> Cc: "H. Peter Anvin" >> Signed-off-by: Dmitry Safonov > > Hi! Sorry for delay in reply. Dima, here is a moment I somehow missing: > when do_map_vdso is called it is implied that old vdso is unmapped already, > or both can be present in the system? > Both can be present. There are some limitations: if first vDSO was 32-bit, syscalls through it wouldn't work, only on the last mapped. It's because of mm->context.vdso pointer, which for 32-bit vDSO should point on it. (and this code make it point to a new mapped vDSO) On RFC I did patch that unmaps previous vDSO, but I have though it's better to simplify this code and drop unmapping.