Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934773AbdCVNoI (ORCPT ); Wed, 22 Mar 2017 09:44:08 -0400 Received: from mail-ve1eur01on0134.outbound.protection.outlook.com ([104.47.1.134]:2561 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759745AbdCVNnu (ORCPT ); Wed, 22 Mar 2017 09:43:50 -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: [PATCHv3] x86/mm: set x32 syscall bit in SET_PERSONALITY() To: Thomas Gleixner , References: <20170321174711.29880-1-dsafonov@virtuozzo.com> <26CDE83A-CDBE-4F23-91F6-05B07B461BDD@zytor.com> CC: , <0x7f454c46@gmail.com>, Adam Borowski , , Andrei Vagin , Cyrill Gorcunov , Borislav Petkov , "Kirill A. Shutemov" , , Andy Lutomirski , Ingo Molnar From: Dmitry Safonov Message-ID: <1cf1ef57-94b5-68d2-4a44-0247f49d6990@virtuozzo.com> Date: Wed, 22 Mar 2017 16:40:08 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6PR0501CA0011.eurprd05.prod.outlook.com (10.172.232.149) To HE1PR0801MB1740.eurprd08.prod.outlook.com (10.168.150.7) X-MS-Office365-Filtering-Correlation-Id: 25e2e8e4-c4ec-4aea-ff6b-08d47129771d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:HE1PR0801MB1740; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;3:xgj4TBcV4EGYz5xTL3GQrgthYuaG0PC9tCvSVrbvDQsGMFUdXyBdgzaNaQRSdL8083NkFXeQqUuoFu1ra2hzBu8KHnth7ZU5vorY+pYBR3jfQBM4yeceI4ybl5i7eZtEGz5SnI9cUhDVlyPVnVJ2sGQM8U+z+LIOLOy0JVC+Ukm2Z5X+hJdOzOSJ54J3GF1G0hnAvDmfCx9RLeb2DhXgTY4Y6nk9jygoO4fJ3+y+1imWATa6k6tjgo8KNG8L/4o8vbl+Hi6j7vLqZDCt/wmYmA==;25:Kpmf4ecn3eRMrQfCFeU1F0JuyEllJ8JqNbeR1R3FiOXI+t67zB/MtL4Dl9f3Bx+Hl+ii/of2yByeRaUSd46FQIpPN8u/WXySD1LzH8ZXryMYnO9k6g1yjqijG43HM4hJXeDCCoHv1hDyQemjBo9UE3FNa4RDWfDL4buKnIVy9yWP10D7N7WVX/VYd6gXlC6u9lpj7zELFR6G356Xzna8DCSX94YxOqZHvGDqfuwVXRHGPxxz3/E5knc5LGjDuMwqrKJCxkaXQDKJsT+/07cGj7QS5qBpE6Yxko6eMEd3bCx8Bivcw2V1j3feK+v2ZpH5d/WC+23qT2jYIGNNVIRRxtWxk2Y0qvngVuJxlaiMCmZgahKgaD54kUIJS+hsyv2/TGk2tyCnxMk7E3kpf0DoOCIA0rhKa/rQv8v1dv57zAKxwslHy/8IRxxgYe9ibsxb98CQOhEtC6LTxwnJ2DQBRg== X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;31:hUQW5JBKUiWyQgS+rR7B/y/dwo2vyIKAyIWKZbKt4KJXDwGqlFP6v3x1p+sX+XGsikOplVWlXPpM5EetKHzavJMF57ZQ0nK2ChICiECbS0Tp0FOtFdIfqzQeN4nmOTWWzns/4pA57MlT3Lz/UdC9WmVEow/FPstvXVepUEwdjwBaDqeZFp9jSXMkfmeM86ke0EwOi65M8GA6MdKttyHUgxSTXJ8J3zmzXJd9Z2IK1lBXzdM3yQ/P8yDqfUnbMeb/;20:w3LWh0RkVNrUY1yE51DQb3DmEne0eFzfEgwt3pK7Wpw08ABIXv2dPWJy0HwHkzCYRci1Kr2pzA+Beix2dcF3fUpOZyyW0zx3IXX8Fdozk3vbjWYSoHNRKQnv6jP09B2uuXJZ9z+i06GdgxDNFF1C69mSGPQ4tNCkDtcu1y330EChzblAzemShLRe0tnx5m4OgI6g7EW/ksFhbusQheLvB1iaiRvcLkQTD0un97tVZTq2iWIPF67hjljfSNN1Tsn0xAwoq4MlA3soml5+y/pqmMgayI0D8D29PGyzNlukclwKW4bkSpzNEnwzeGdIeqs01ttAMTTxNlo3UxY1md3xieHCpoLXpNrzeWNo5/nwgwq7Z7rDJQriUgAczzWq8+kho4a7fKqKaVA6C40OPAcPvPlsZ7KSbGcSiv/Ib8PoEKY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123558025)(20161123555025)(20161123564025)(20161123560025)(20161123562025)(6072148);SRVR:HE1PR0801MB1740;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0801MB1740; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;4:cocVQVKJ4dgEfrtFLwKQy6Y5rUeY509s9Xgv4y6Khnp9pE1ZT2Lht2gWlzfuCnJU/2IFVHcIbUENVIjNbQ3N9DtuzViYdleYfoFxpNJgvP3S7qlVn/m7k6Yj1LnlBEgl3SBMiK3RQNY3Y4PybVl5z/oKLNvqMrrGBDB6Xgob15JxFur4iBIlzjjS02rGBCNh85kGUzRYd5yB8yOjrE0pXEikA5I36661O8tiTG7oUUAPKOuvHo1idWpK1yxJQj3Xj+f6XfBuz31f8KpYysI9tJol6LokMdyscMXDpg6iNKE5OEmSKyeCDVIlBmeYDTfntf0r5dzq0ifRGN7y166gQ/HO2OHWEQy8+eSf4wLaazaTdNw70X/+bdJyClPKEU9vz4XUwPQw4N6EHxzT0HX9UwIOOpqig3m9FpuF4WnuP1zEEhYcnjLgC1ffsZTVnf++nwxL3WiXIrGp595Q6ABIbFqqunspGw5CeNGrjEU4VMkYLvQpjMibYog1bTFwnVI6sKisvWS5sdd/YcQbjLbgsdKzrFHH1yDDPXhuuvfV2FL0hXh5vtiKAnCmgrV4zjjXKda17I+wOr5ucXzP5xGqNeNj+B7oXJzSwB/P8TJ38+8= X-Forefront-PRVS: 02543CD7CD X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(39410400002)(39450400003)(39830400002)(24454002)(377454003)(23746002)(31696002)(7736002)(2906002)(230700001)(31686004)(83506001)(33646002)(4001350100001)(3846002)(53546009)(38730400002)(65806001)(4326008)(6116002)(42186005)(189998001)(6246003)(25786009)(229853002)(66066001)(65956001)(76176999)(7416002)(6666003)(54356999)(90366009)(36756003)(5660300001)(50986999)(305945005)(93886004)(47776003)(50466002)(2950100002)(64126003)(77096006)(8676002)(53936002)(86362001)(575784001)(81166006)(6486002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1740;H:[172.16.25.13];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;HE1PR0801MB1740;23:HLef6O22tqsVGHS6Z66M5ovrnwswP6rqI77?= =?Windows-1252?Q?PfC3ZciqjJdHPfIyO+AfWLdkS7z5E7xyLGgBCREIhQR2JpZWHTqJcKjs?= =?Windows-1252?Q?lHtEyoLT8Eav3c7KDI6yTvuFCcG0/7ahFmwuyYXot+1qFVGjfnrRri6z?= =?Windows-1252?Q?dtKwzxgRYZgiy7aymAgrOPTOBYJUsdz48MORS3wiVqHLWIuYzRe1MkYF?= =?Windows-1252?Q?xt+j9mF++LCQJITjRNZ1EJGGBkfBQzbvDXods4eWfnUg4HIuTZTIp/tP?= =?Windows-1252?Q?aL/4NgwkaJWLYwNsRxgsD3VHa+4bW4ndJaIyBfE1M2ZrlJJ53iNbFBaq?= =?Windows-1252?Q?feQ7Q9jQRgpy97rJT2OBJfgo8OFfRkKzjAX7aaAZrmqUqJkDHah6BdDk?= =?Windows-1252?Q?233Cq7mZZ+e5wfl1hIdgx6YwO/ezcM3VgbyAjSR3s/Zm8PlcVvd/iyeJ?= =?Windows-1252?Q?afoBgQJlVvbG369uACMH83Xx9T1xGqXcWA7Cu5L6d9dwaCuKERHeD57x?= =?Windows-1252?Q?nMadexZQD29N5cIXFGHT+18SZYj1bMuonWZYcpnXTq+5U9KfvNU6sNP3?= =?Windows-1252?Q?AE0kmj36LDYCIQ/x+MygHjGkxxjB0mR2YsJcOtOuMCGzjycDglgMGN+y?= =?Windows-1252?Q?7AfyV81OP9KzsZR6qo93UxqKONXM2plJdwKjudoemeBgf+Z4skWroFht?= =?Windows-1252?Q?DiZ6czq3gWLfL3vmRlyxYIBXJRSyhAbArTqfWaOv0FgNIbpQlpDhLUpY?= =?Windows-1252?Q?TYcUxxxgHfo82aCrz5kF4MJ3zjLOzSktdGCy3ZWyxtzDlOnwAfsyn8zF?= =?Windows-1252?Q?Ph6+SNyptHjNEP816fHp9UQXC7eFd0+zJVIHZFR8XEEzgAGizJt09AU0?= =?Windows-1252?Q?qt+iPfO6I1ISj31PTg6wrK9/OvQxTjatEIUYXtOi9chn+CucMj2gNVzn?= =?Windows-1252?Q?FQabyL89QKZfuX8XqCodYrWjpXopZe6HWW97AV+ntDXmEsbcBmIMXtzO?= =?Windows-1252?Q?Her1dxXQQjjrf0+LfOfX4IsBs1h+U1xWmj00LQHGMtfD6m2fifZv7qyP?= =?Windows-1252?Q?C7dnjwFjaBhgBZ52FaJlIuIjxqT2b/AsaHQSRzScQCkQtM+MOxc8xpyU?= =?Windows-1252?Q?I8pDT4xaZy0E8LJYDFdNXRMzdZKDOsbV9kUw4vC3/XAWnKO8gjFgjaES?= =?Windows-1252?Q?C2p6W/g5v1hL96VVjhKHgKUDmafXiMLdnrvNi608tzs2/jDfxXeYRD/B?= =?Windows-1252?Q?/yEfY767YLnKih4KxEz5BvwgZ8U753CgoJVBfWaCvR5hP9bl3oxehgbN?= =?Windows-1252?Q?pMWIEDG7x4Z7AQNHGE5/PldoogeEzbuC2FSwtN04LeQ8LdnU=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;6:f75t8W8Erkovy90JmJBCkeTo/xC795r1txC316fxfAaJS/7pcxljOGlCibgUAKneJyl4QueJoES/7ILwRA9HprcuufF/WG0gfA07zQgyxuislbagC/ZKQKHC5nn0Ld1rUEIm3kQpT0hKv87tIOZqDMT1CXjc7MO9nP+FyLIW4jfcA7lO/yD2t2oDU9DjEuquz4WmPdEo6r0VQRoyHj/3gNDrTo2kRXgir1MMsdvXJxQ5M9hiYzpNSsBiENrhx1eyb+01CdrS5smWJu28O0Ovy3wS6hjSZzPSEfkc7nesHMTq50z/pYFhNvdiFAO6NswESNfyPX2dmC1DNiSEtNt0U6a6EApriVxBntDOnwt6SU3mCDScnQIDqMb1jZuey2koRLqTswYZoKUnHson1n8gEQ==;5:31ra7WYUr+CVkmsqRq3WXhhBM6m7uwWV/5Daz/+rNpOW+SdffzKL/U5Z5Cj3t+uj5rogIEoWf/kCsgbi+9Y/da/AOIjGVhPFdQl/7qE0dSwBuekY/OiX5DoWYnw3hnZpE4d4AdUU2M42s2Lo977wDA==;24:YqXm7Vn4+dCOGTTEpcenSdmIOxVZcQ9SxiGiSB9HL8K7m3UF2A1H2MR/x5xjma4bkNOMJuY7fQ9ltcV8piLvrp5ZtZ4oe4EmGCOZas/RBN8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1740;7:eE30HvntTHORJu5sVu6khADHqCSb4JKEqEuKdFNg4cTOpmjewXwwBaMk9wLy4IcuYB7zDWUgMZmo+bNUJiVp/HqiP3HNZaQSAjwWy6q/paz02R1AkUavS0hfu8RYglxo7qhU0UexeR3ZzVf1VlF5BkSfXVtcAsrAY5X/1Cx/yliANnc0UaazWq6UfpmRcJR4Si/oDFdRUKXbbIzm2rgvBBaC/LaXghqYC/pX0mEijyvkZWIIBvT4NqAXLKa5KGdP2DF1j+v49eiGKJ80T7YrUNGBSJPRZsC73fXm2QkyaFed7SFFD9xtkP/tVCTovjIV0f67yppG3UqR0Irjm5wuHA==;20:qb8zqwk8WamB64ZWghcHA7fOjh62SxynOal97ntY8m6BLoylah7s3JDvDUmLEWKqygZxwfWVu31GmhtfEIZmm1iyWGEFbA4e4wi+19wZ4cbBeV+2HNazurGF6YQKd6783FqpgaPb0ogxE8b6wGf8zUmLreewMiI6pwhfgqk1n5c= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2017 13:43:45.3989 (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 Content-Length: 1638 Lines: 48 On 03/22/2017 01:34 AM, Thomas Gleixner wrote: > On Tue, 21 Mar 2017, hpa@zytor.com wrote: > >> On March 21, 2017 3:21:13 PM PDT, Thomas Gleixner wrote: >>> On Tue, 21 Mar 2017, Dmitry Safonov wrote: >>>> v3: >>>> - clear x32 syscall flag during x32 -> x86-64 exec() (thanks, HPA). >>> >>> For correctness sake, this wants to be cleared in the IA32 path as >>> well. It's not causing any harm, but .... >>> >>> I'll amend the patch. Indeed, thanks! >> Since the i386 syscall namespace is totally separate (and different), >> should we simply change the system call number to the appropriate >> sys_execve number? > > That should work as well and would be more intuitive. Not sure that I got the idea correctly, something like this? I haven't find any easy way to get compat syscall nr like __NR_compat_execve, so I defined it there. I'll resend v4 with the fixup if that's what was expected. --->8--- diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index b03f186369eb..c58ac0bff2f1 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -507,6 +507,8 @@ void set_personality_64bit(void) current->personality &= ~READ_IMPLIES_EXEC; } +#define __NR_ia32_execve 11 + void set_personality_ia32(bool x32) { /* inherit personality from parent */ @@ -537,6 +539,7 @@ void set_personality_ia32(bool x32) current->mm->context.ia32_compat = TIF_IA32; current->personality |= force_personality32; /* Prepare the first "return" to user space */ + task_pt_regs(current)->orig_ax = __NR_ia32_execve; current->thread.status |= TS_COMPAT; } }