From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754401AbdARLqC (ORCPT ); Wed, 18 Jan 2017 06:46:02 -0500 Received: from mail-eopbgr20129.outbound.protection.outlook.com ([40.107.2.129]:43468 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753881AbdARLp6 (ORCPT ); Wed, 18 Jan 2017 06:45:58 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dsafonov@virtuozzo.com; Subject: Re: [PATCHv2 2/5] x86/mm: introduce mmap_{,legacy}_base To: Andy Lutomirski References: <20170116123310.22697-1-dsafonov@virtuozzo.com> <20170116123310.22697-3-dsafonov@virtuozzo.com> CC: "linux-kernel@vger.kernel.org" , Dmitry Safonov <0x7f454c46@gmail.com>, Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Andy Lutomirski , Borislav Petkov , X86 ML , "linux-mm@kvack.org" From: Dmitry Safonov Message-ID: <69eecbfb-9d39-9c72-7ec3-68fdbea45245@virtuozzo.com> Date: Wed, 18 Jan 2017 14:26:37 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6P191CA0005.EURP191.PROD.OUTLOOK.COM (10.175.236.143) To HE1PR0801MB1740.eurprd08.prod.outlook.com (10.168.150.7) X-MS-Office365-Filtering-Correlation-Id: 14fc657d-0112-4637-370b-08d43f95547c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:HE1PR0801MB1740; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;3:UNmPQjawXn1bb+HZhaGe5sUb8iQshQG60Kxj5viK+SK9GHADYJEJrKQBD5UM+wOCQuTNKUThh5Poz3e/h6PVoHYMd2rR8/L0EwruvGFgbq/NikFlxJod4E/QZZ8t54edlaZ81pjg5ojSUUMLwWRgG4GKbf69YGNnXNCfiZoY57LwoARFsvEUMQGtvAM6O3/OPo7Hjus8uWd0Uf48H2wGZZF6sNYp7eBu3L8nZiGXKpg+3L6Rd6RQjLpvuHnPo8/zC0JYvOLkMHSA1OMbOUVt3Q==;25:OP9aIXLPZDp38DcxU2UKrYfhWoWR1SjeeTo5FKE/1IdGerO31mn/w8hNAhRfFaGbfJVTVpIvVrBJYB5hAcBXYgr82+gAheE9aj7nWgq8Kck7jZoL3DIfc5rxdlF+n0UN/l3PxE+tWwCtKHlG7yJnVJqXd29Wl9tGuYChjrk+NfyVL8zbhgIMLblvVOY9ldQXF4VXtkkIUfr5wdUmm4PeNw9c2DqKmkWT7V2+SGEOg67zU9dU8445Udh/Je0ah/a3IOOKsnXabBNAMbVi/jMlnam7UPQm0IENxnwBwKOb7j5zu0Z0RVDemKJrWZnRpmS+ebKOH2yR7eNQt4OpfTUrxYph/yHozwhDcmfrfk3YW0S4JKFah4OXS43Fy0vVIGtxa8Lp6WIxXxBHvLOcHGcVRXF9/TXmzAKjmSwLcaHMhw1uzOCiKzKRY/6QvKMp1XhwBFCN2D1wmDBgSejhVRz1BQ== X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;31:KEGrTWQSCs7Fiy+b0NSpAKT2CheQ6/2u9d5TzEg64/BJ64l6CEBQrvwm39Zc8S1nP18ZRuGHMnV1uBOkvOMARmNo+TubEZMtJyI1aBfczFB02G/r/rGwp8pe6EXOnadeuOXFdSoWPsmPhZaXjKWjX7Mk/i7PHv4OzxgcjwoQwP5OeGk1zU8SPtzVlE6teAsH8Ef+oCAHfkKFqWJ09BTJwji9rXs3xQTFnLBB9WKHA+9gc+p0bn8amHReto2l6OgH9160Z0bucjC5oYuRVGR79Q==;20:wpxKfetWai7uLIMSBK9LNC+DVbPbKhldv4VZj7VDsh1qAim/oY4pvr8w5FPhzKpu4WqOtFZxXtE535IdcqHYbPPcwpXVtCdvXifeuivmNAZa7QHzagDZE9/01/Gw8mSFFY+eEqbbr24jnnRoeML2bfqu3P0dsG5/M3cKp32w37nWNG9jbnB66vXYS6Mzp8rPIpd9nXT+JhS6mQHOcFq6EwC8LTb0s4oOxUWDY8gJfLc7ZoCGm14clrS074cla9EK X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123558021)(20161123562025)(20161123564025)(20161123555025)(20161123560025)(6072148);SRVR:HE1PR0801MB1740;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1740; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;4:1Lh+PdQNXeZV9o3Gj2rtEqONtiCMqKLqqfgRsI1ONNfwKSgTaY2mLXpjgDsEpeXSac+Bj8iFFOT2ROqVCFvz2WuC0KrImBhHfJrrZvxQles3SN1KJkE8Uyu6lS8WZHhv2NygmDPJ/WLhPewohHHl0WCGVqwQlIhPQiv9yF27dl5rUImBwpABxfyvyDzGHRiJ9xzjVTpIlXgTeP8+LKd9eO04o7/Qp5NNMxgSZLvLkegs5ogC8FtlROzsz/N/WUTmcIwGLYqr32hjUaqVmFH4QHqGlacvjq11RIf0FW8LqtIu+fqW0cM7W4c3F7NXCyTI/fKSC/5J5+JGhQ4MgsGFHWaBtStuYwINX9fnIDYWIgrij01Mx8deQB3Uc5l+v3UGFd1t0RjTlOEs2cHO7B0sWLBvBeG3+HTleU2n9LLj3xv7RBOLRiD0Ay4+sMUw0oto+nkaAnFUI2U54DApkvHNLPuWAE9g3QG5cj1EqKFJeyfIUqfPAmR2isSiiVbrm/5gYeLbxqoTNa7SEgGduFoiZGfvLNNFdcI0estvHMv+dwNEdhP78UAaRg8W3M1rVf36O9bRPIhmHH9kAIcWO0oIWRaCYTtfSGdt06jA8wZ8wfM= X-Forefront-PRVS: 01917B1794 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(39410400002)(39450400003)(39830400002)(199003)(377454003)(24454002)(189002)(305945005)(6916009)(7736002)(39060400001)(6486002)(2906002)(4326007)(90366009)(65826007)(50466002)(64126003)(7416002)(77096006)(230700001)(31696002)(229853002)(68736007)(38730400001)(189998001)(3846002)(4001350100001)(53936002)(6116002)(86362001)(36756003)(6666003)(110136003)(106356001)(97736004)(105586002)(92566002)(54356999)(76176999)(31686004)(101416001)(83506001)(42186005)(47776003)(33646002)(81166006)(8676002)(25786008)(66066001)(2950100002)(81156014)(54906002)(65956001)(5660300001)(50986999)(65806001)(23676002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1740;H:[172.16.25.13];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDFNQjE3NDA7MjM6Q3BpRFBvMjdHZ0puUURjWTJCbXphMHU0?= =?utf-8?B?dUlPVm1FTlpxSzdFdTl6emVYV0dXTGJRekxWV3c1b0sxejg5a2d5ZXlqK2Ni?= =?utf-8?B?VzVnTlR0THJiY3AwVVp2akJ6TGlWZ3ZGb1hUcE03UVJqekZzWVVReEhZbTVG?= =?utf-8?B?c282U3plV0RndFlXdHpHT3ppWTJiZEpZcy9KaURmK3JKTlAveWorRzRISmcr?= =?utf-8?B?U2p2Lzk5TDQ2VkJVd2k5VTBRdHg2RHRQZEx3YWZYM3dUK1V3alBaVlpSQVNB?= =?utf-8?B?cDJTU3RQa2tDMGl0clhkcjFEVXJMY2xjU3RoUTV1L2t3eWFtQ3dGRHBBTUR4?= =?utf-8?B?NmU4N1pUOWhtT2kwSDN2UThEOHdZUm5va0Ivc3NBZ1FxbVNhTmpHV2hiejg0?= =?utf-8?B?Z0tkZkFKLys4b1JwRGFFUlB6OWJQTTNhcVVTa0dqUHlja284aWpEeDRSSjk2?= =?utf-8?B?OXFRMGhXczdrR2VOTjBiUTBaZnRkcjFKUjdwMWs4dVU1OFpFZVNNcWtXZ2dZ?= =?utf-8?B?UUFaVloyTlJtbGxiUVN6N29ZclM2ejMrRmw0QUJoeUFxazJSM2JoMXRvbm9z?= =?utf-8?B?OWNZaHI1SDFnMmxSNW55UXNIMWpkNVNxOTltd2ovNEZ6bE5RSWYrYTFIdDJo?= =?utf-8?B?cmIzMi96ci85ME1OZ090TE9jVFRnMFJDRGR4Y0hlWjFZVHVYTlRVd0RmWEc1?= =?utf-8?B?cG4xekxnTkxKWmdwNjdyQXRSVi96bUJMNHFwcVZ6OTRTejB2UVZBdXc4L1hM?= =?utf-8?B?dTlyNytoditqaWM0K2YySTB6V25jNk9PNUpaOFM2RDd4UzJMY2d2V3RQVS9h?= =?utf-8?B?L1E2UHMzdWs4Zkk0bVM4enBNdlFkYlpSYzIxdVRhSEJXMGFEYUJjczdYSDk5?= =?utf-8?B?YzlqUlBucFpmUVA5ZCs2NkhVQitPWjFmQlNEME9Zdk5naFlCZUFaZmV3MkNj?= =?utf-8?B?ZkFObTlYaUxDQU5ta2l1Z2p0TngrYlA4bDZya1B4SmtvS0VJVHp3VHlpZ2tt?= =?utf-8?B?R3hCWXNBRlZtYXorb3V4S2VUdTQrVnRMc3dXMVZHU2tKOXdjS0M3L050K1ZU?= =?utf-8?B?cDFzVFNlOHZERi9vaU9qZ0tzd05EajFrRWxzQ0pSRC9pc050cDVQWStrc3hj?= =?utf-8?B?dGc0R2MvSDFlUU1TNytOdDRSOUFIM0RDLyt5OHpLSEhMYk5QZDhkUnJXaVNO?= =?utf-8?B?Y2ZjaVpyeDR1SnJrelVpckR3aVlMNVhYQ3BNLzROOGdlQTlGTS9MTlJZRG45?= =?utf-8?B?MlUwdzcyTW9CSWVDY3dXVmFPQmNHbmd1WXBPN2NrSzM1aVNRaFNIV2RpSVlj?= =?utf-8?B?akZhYVR5azRsN2QybEp1V2NDZUd4YjQwcHlUOTBpUXg0N3pTMFlabWJsaUpT?= =?utf-8?B?TDBnd0EwaTdDZkZ1WW1CeW8vSzlLcDVnb2RwZktLVlErR0EwVXludjgvMlZD?= =?utf-8?B?dzd5anJrcW40NzVtYmZGQVgyTmg5MFhoYjgvSVovRVF5RDlYZGVpYVJhcHJr?= =?utf-8?B?QlBtUXhoeXdNNElNRCtBMzhqdW1ZYTZDQWpXU09rQTJ4bDRja1M2NnFKc0ZW?= =?utf-8?B?c3RpRkxCd09qSk1RMWpMYWhsRi9RSjlpZXBzL05RMWJkeityOW16dUhBUDhv?= =?utf-8?B?SEEwNVkrdnFWSndRYU5lc0xaWWJ6UE9uUzRhUnBWWjNFQ0piKzVuTkliZlUy?= =?utf-8?B?Y0VFa0wvZ0krbnB5dS96cW1HRUJOa013SFFnZi81UGs2OXdHVS8vTlNBT1Nw?= =?utf-8?B?R3RXUEh6VFhUOEtDSHk5NGVFOUFBTXB3OXpoM0Ird3JUdUpWYXZtRXRIRmI2?= =?utf-8?B?Z0Q0WXRyWnplQ2c0bDRPNjQ4Yk1FOUw3Zkw5L0VTUmxyZTNVZE9SSmVWNy9E?= =?utf-8?B?Yml4Ty9hQ0svY1dvaFd4aERmNmNyNlljemxhUVU0YzMxNS9HaFk0cVVJTHlz?= =?utf-8?B?TDRuZ1MzamZBaVhBZUU3QytSc21HM0dKUjdQSlQ5UHlBbDJ5VjVEcS9PSWRi?= =?utf-8?B?SXpvQ2g2OVcraUkrejFDUGlJbTAvaVlCU0xUUDN3PT0=?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;6:PGUhgUY9bWS8ho0tHHLoLF4bCrDLhi5ivCUb+ivmxUwNGAhAXgJ/jCocH/VXm2ilozQt0zpmdacIeJfmPS834pdBRM9mHeG2L5kD4N86JPSojL5Mry83+93mgmMZijPSum+6FWujHzeyQ3iXgyySCAkHmWPnAyl1N3fVYYf9l7uTr7F3AfIN7pEmj55dLoDeYmfqhamokExqbr9d6Gvy0fTY55uqQYi18e+drFtS/gn+2hnyIlB67B8b67jMoJ7FB/OBdOa+zGNbeVK9PdABLo2hX8usb0gaCsbX9MEfvsXsoPB/llYWPEy7ms8hYySGlfP6VPqnxeW4bi5lOo6MFs0C5+CqchuOdkdC0p1IC1QZF8J4iuRZKZdEa9FSd2co1A+ghwR83/PoWzh1i9IynrDuCqpZngsibG3hzxPZnoc=;5:iBmMFE/rLqYE67AtoKaGND3HWscTxtedmqFdyEMqFyhn8qNYj/KSNumV1ms5kKpPEv7KbTr3XVhbayHKLl1zAllrQzu9wVA6LdvTO8YAIk9oioFa7NmdApHPvUKyZlmYtfPHPMgJBNHdMA1VHctfYg==;24:fi9zoBpbD+qZdcbgX4aQ59GwvPo9U0+ZOIf9pGH6HEYjmFUr0kBpuO4pQXX36FPY4mMrfjF081qTedPJPy7Myag2//la6yTEO03LuRYLDac= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;7:LQokoNcnlubMdvM/25fjuQVpLo+gbDufrQ3dQ/5Yoak3DbokvhTh5o7XUyYHfF9OyNwtMGplTGZ17Yd5yjGyWuIctzJ71y3lxcjd7dulyu06zdr9Zasokd1G3bv6Rmo3YlePZycCcZX6GcCanwSAG7BwuieCcAubaB6LlY9eaQlEW1goV5MCvOOAU01HDZWe7DPx8TW1210+TNbD8CTYWE/TnNEvwbISydzgFydqRc8moQhuLi0jd1L5YuvAJaKgXgSUrd0ehgrDgiINyoS1FE62aOGRag3nhobJBBdDj9vcQ5x0+MeOdwhdlb1WktniTryL1kKiR+ZuwcOH0d/gmdiy4JKvESKndOb0x4FX0kVTCu+COcqZpTwANTAXJ0NTQqf1CND5Ag4uj4sh30TI1Dm7kUS6ho1bYTgXjwXnYLSTKg8i7pJIy5edXq/TQ6Wd1ZzZx24NEV8a2StHF9VIpQ==;20:FJ1hc0RHEG+5dHLjymKVCerHx67HMBa2HuFyTccWBtBO8LfzAXoxZZarhXmNiUhsSjV2W1LgTgHalBAPnbm7DD4u30QDIVguFNPPzkJ8xmKreCXPneWjguD873ncVqkqYuDcN/yQ+nlJ91/gaKXZseh3nyglTOR5R6j7jHS8Pmo= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2017 11:29:55.1864 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1740 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/17/2017 11:27 PM, Andy Lutomirski wrote: > On Mon, Jan 16, 2017 at 4:33 AM, Dmitry Safonov wrote: >> In the following patch they will be used to compute: >> - mmap_base in compat sys_mmap() in native 64-bit binary >> and vice-versa >> - mmap_base for native sys_mmap() in compat x32/ia32-bit binary. > > I may be wrong here, but I suspect that you're repeating something > that I consider to be a mistake that's all over the x86 code. > Specifically, you're distinguishing "native" from "compat" instead of > "32-bit" from "64-bit". If you did the latter, then you wouldn't need > the "native" case to work differently on 32-bit kernels vs 64-bit > kernels, I think. Would making this change make your code simpler? > > The x86 signal code is the worst offender IMO. Yes, I also don't like to differ them especially by TIF_ADDR32 flag. I did distinguishing for the reason that I needed to know for which task 64/32-bit was computed mm->mmap_base. Otherwise I could introduce mm->mmap_compat_base and don't differ tasks by TIF_ADDR32 flag - only by in_compat_syscall(), but that would change mm_struct generic code (adding a field to mm). So, I thought it may have more opposition to add a field to mm in generic code and fixed it here, in x86. > > --Andy > -- Dmitry