Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754761AbdC1JjY (ORCPT ); Tue, 28 Mar 2017 05:39:24 -0400 Received: from smtp63.i.mail.ru ([217.69.128.43]:56802 "EHLO smtp63.i.mail.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753932AbdC1JjW (ORCPT ); Tue, 28 Mar 2017 05:39:22 -0400 Subject: Re: [v6 PATCH 00/21] x86: Enable User-Mode Instruction Prevention To: Ricardo Neri References: <20170308003254.27833-1-ricardo.neri-calderon@linux.intel.com> <79ba0fff-4c01-2bfa-06cb-5cfc98dd710c@list.ru> <997ba581-ecfa-b773-a48e-85b92a439836@list.ru> <1489022122.131264.33.camel@ranerica-desktop> <63231222-5b42-c8c9-02f0-0afbe702d8b5@list.ru> <1489190396.131264.47.camel@ranerica-desktop> <6331deea-e9b0-fcfe-b75d-8100f37a615a@list.ru> <1490658399.2647.14.camel@ranerica-desktop> Cc: Andy Lutomirski , Ingo Molnar , Thomas Gleixner , "H. Peter Anvin" , Andy Lutomirski , Borislav Petkov , Peter Zijlstra , Andrew Morton , Brian Gerst , Chris Metcalf , Dave Hansen , Paolo Bonzini , Liang Z Li , Masami Hiramatsu , Huang Rui , Jiri Slaby , Jonathan Corbet , "Michael S. Tsirkin" , Paul Gortmaker , Vlastimil Babka , Chen Yucong , Alexandre Julliard , Fenghua Yu , "Ravi V. Shankar" , Shuah Khan , "linux-kernel@vger.kernel.org" , X86 ML , linux-msdos@vger.kernel.org, wine-devel@winehq.org From: Stas Sergeev Message-ID: Date: Tue, 28 Mar 2017 12:38:24 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1490658399.2647.14.camel@ranerica-desktop> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Authentication-Results: smtp63.i.mail.ru; auth=pass smtp.auth=stsp@list.ru smtp.mailfrom=stsp@list.ru X-7FA49CB5: 0D63561A33F958A5C0B046DB71ADD7F0CBB510D021C777FCE148D38CC6AA858C9F18ECD7E95F35E929AFE063DF4C541C3B36313E35863C78D9A82F3F32A474DB0BF2EBBBDD9D6B0FAEAACC865B01FC22 X-Mailru-Sender: F1845AB6CCC9920DF7838D61D4D05C42AD8AA18448DC4C112BF32B7B9E61A979E03AB9BFEB6FE19D1653177920737CA72999BEE114A20FF4278B2D54D4112F244F0A872F021F905956A8FB0C6EBA5FCCEAB4BC95F72C04283CDA0F3B3F5B9367 X-Mras: OK Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2123 Lines: 48 28.03.2017 02:46, Ricardo Neri пишет: > On Tue, 2017-03-14 at 00:25 +0300, Stas Sergeev wrote: >> 11.03.2017 02:59, Ricardo Neri пишет: >>> On Fri, 2017-03-10 at 14:33 +0300, Stas Sergeev wrote: >>> >>>> Why would you need one? >>>> Or do you really want to allow these instructions >>>> in v86 by the means of emulation? If so - this wasn't >>>> clearly stated in the patch description, neither it was >>>> properly discussed, it seems. >>> It str and sldt can be emulated in vm86 but as Andy mention, the >>> behavior sould be the same with and without emulation. >> Why would you do that? >> I looked up the dosemu2 CPU simulator code that >> is used under x86-64. It says this: > Stas, I apologize for the delayed reply; I missed your e-mail. >> It only implements smsw. >> So maybe you can make your code much >> simpler and remove the unneeded emulation? >> Same is for prot mode. > Do you mean the unneeded emulation for SLDT and STR? Not quite, I meant also sgdt and sidt in vm86. Yes that it will be a somewhat "incompatible" change, but if there is nothing to stay compatible with, then why to worry? Probably you could also remove the sldt and str emulation for protected mode, because, as I understand from this thread, wine does not need those. Note that these days dosemu2 uses v86 mode set up under kvm rather than vm86(). Your patches affect that the same way as they do for vm86() syscall, or can there be some differences? Or should the UMIP be enabled under kvm by hands? >> You know the wine's >> requirements now - they are very small. And >> dosemu doesn't need anything at all but smsw. >> And even smsw is very rare. > But emulation is still needed for SMSW, right? Likely so. If you want, I can enable the logging of this command and see if it is used by some of the DOS programs I have. But at least dosemu implements it, so probably it is needed. Of course if it is used by one of 100 DOS progs, then there is an option to just add its support to dosemu2 and pretend the compatibility problems did not exist. :) So, if this can be an option, I can do the tests to estimate its usage.